- ベストアンサー
アクセス2003のフォーム上で1クリックしたら、デスクトップ上のあるエ
アクセス2003のフォーム上で1クリックしたら、デスクトップ上のあるエクセルのファイルを開きたいと考えています。コマンドラインの記述の仕方を教えてください。よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
以前、Accessから別のAccessを開く件について回答した者です。 http://oshiete1.goo.ne.jp/qa5624449.html Excelも2003かと思いますので、もしも開くExcelにマクロが組み込まれて いると、Accessの場合と同様にセキュリティメッセージが表示されることに なるかと思いますので、その対応版をご紹介しておきます。 (基本的には、Accessの場合と同様になります。・・・前回の回答も含め、 不明な点があるようでしたら、補足説明します(汗)) '今回は、コマンドボタンへの直接組込としました。 Private Sub コマンド1_Click() On Error Goto エラー処理 'Excelアプリケーションを扱うための変数を宣言 Dim objXls As Object '開くExcelファイルのファイルパスを定数として宣言 Const strPath As String = "c:\Documents And Settings\ユーザー名\デスクトップ\ファイル名.xls" 'Excelアプリケーションを新規に開く Set objXls = CreateObject("Excel.Application") With objXls 'マクロ組込時のメッセージを非表示化 .AutomationSecurity = 1 '対象ファイルを開く .Workbooks.Open strPath '上記の状態では非表示のままなので可視化して 'ユーザーに制御を渡す .UserControl = True .Visible = True End With 終了処理: '念のため、明示的にメモリを解放して終了 Set objXls = Nothing Exit Sub エラー処理: MsgBox Err.Number & ":" & Err.Description, , Me.Name & " コマンド1" Resume 終了処理 End Sub ・・・以上です。
その他の回答 (2)
- piroin654
- ベストアンサー率75% (692/917)
ちょっと訂正 フルパス: Call Shell("C:\Program Files\Microsoft Office\Office\EXCEL.EXE ""C:\Documents and Settings\ログイン名\デス クトップ\MyFile.xls""") デスクトップのうしろに\が二つくっついていたので 一つに訂正。 以上です。
- piroin654
- ベストアンサー率75% (692/917)
フルパス: Call Shell("C:\Program Files\Microsoft Office\Office\EXCEL.EXE ""C:\Documents and Settings\ログイン名\デス クトップ\\MyFile.xls""") パスが通っていれば Call Shell("Excel ""C:\Documents and Settings\ログイン名\デスクトップ\MyFile.xls""")
お礼
大変ご丁寧な回答をありがとうございました!!!上記をコピペしてすぐにうまくいきました!本当に感謝します。今後もよろしくお願いいたします。