ACCESSからEXCELの特定のファイル呼び出し

このQ&Aのポイント
  • ACCESSのメインフォームからコマンドボタンとマクロを使ってEXCELの特定のファイルを参照する方法を教えてください。
  • 顧客情報.xlsファイルがデスクトップ上にあり、ACCESSのマクロで開こうとしていますが、エラーが発生します。正しいコマンドラインの記述方法を教えてください。
  • 私はACCESSとEXCELを使用していますが、特定のファイルを開く際にエラーが発生します。ご教授いただけると助かります。
回答を見る
  • ベストアンサー

ACCESSからEXCELの特定のファイル呼び出し

ACCESSのメインフォームからコマンドボタンとマクロを使ってEXCELの特定のファイル(デスクトップ上にある顧客情報.xls)を参照したいのですが、EXCELを起動するところまでは出来ますが、このファイルが開けません。マクロのコマンドラインの記述がわかっていないようです。素人ですのでどなたか教えてください。 現在、コマンドラインには下記のように記述しています。 c:\Program Files\Microsoft Office\Office10\excel.exe \顧客情報.xls 記述のどこが違っているのでしょうか?ちなみに、顧客情報.xlsは C:\Documents and Settings\Administrator\デスクトップ  にあるとファイルには書いてありますが、この記述を全て書いてもエラーが出ます。 WINDOWS XP  ACCESS2002 EXCEL2002 を使用しております。 どなたかお教えください。よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • nicotinism
  • ベストアンサー率70% (1019/1452)
回答No.2

Accessのマクロですよね? アクション → アプリケーションの実行 コマンドライン ↓ excel.exe "C:\Documents and Settings\Administrator\デスクトップ\顧客情報.xls" で開くだけなら出来ましたよ。 当方、Windows XP Professional SP3 & Excel2002 SP3 ※1VBAを覚えられた方が、今後何かと好都合かと思います。 ※2オフィスのアプリだけかもしれませんが c:\Program Files\Microsoft Office\Office10\excel.exe ↓ excel.exe と省略しても大丈夫のようです(私の環境だけかも?) エラーになったら差し替えてください。

paco_paco
質問者

お礼

ご回答ありがとうございました。「””(ダブルコーテーション)」を記述しなかっただけのことなのですね。一発でうまく表示できました。こんなことも解らない素人のために親切に教えていただきありがとうございました。実は、悩みに悩んでこのサイトに登録し、初めての質問だったのです。今後また解らないことがあったら質問するつもりです。その時はよろしくお願い致します。こんなに早く回答が得られるとは思っていませんでした。ご指摘の通りVBAを少し勉強してみようかという気になってきました。本当にありがとうございました。

その他の回答 (1)

  • myRange
  • ベストアンサー率71% (339/472)
回答No.1

"顧客情報.xls"のSheet1のセルA2を参照する場合 '----エクセルのバージョンに関係なく動作させる場合----- Private Sub Button1_Click() Dim ExlApp As Object Dim ExlBook As Object Dim ExlSheet As Object Dim myPath As String myPath = "C:\Documents and Settings\Administrator\デスクトップ\顧客情報.xls" Set ExlApp = CreateObject("Excel.Application") Set ExlBook = ExlApp.Workbooks.Open(myPath) Set ExlSheet = ExlBook.Sheets("Sheet1") MsgBox ExlSheet.Range("A2").Value ExlApp.Quit Set ExlSheet = Nothing Set ExlBook = Nothing Set ExlApp = Nothing End Sub '---------------------------------------------- '---------------------------------------------- VBEのメニュー「ツール」>参照設定 で Microsoft Excel 10.0 Object Library にチェックを入れおくと コード入力時に各オブジェクトのメンバーが表示され楽になりますが、 Excel2002のみの動作になります。 コードを下記●のように変更する。 '--------------------------------- ●Dim ExlApp As Excel.Application ●Dim ExlBook As Excel.Workbook ●Dim ExlSheet As Excel.Worksheet Dim myPath As String myPath = "C:\Documents and Settings\Administrator\デスクトップ\顧客情報.xls" ●Set ExlApp = New Excel.Application '----------------------------------------------- また、Excelを表示させたい時は   ExlApp.Visible = True を追加する 以上です。

paco_paco
質問者

お礼

ご回答ありがとうございました。実はVBAは勉強しはじめてまだ日が浅く、おしゃっていることが十分には理解出来ない素人です。今後、VBAをもっと勉強していくつもりですのでそのときは、「ああ、そういうことだったのか!」と思うときがくると思います。初めて登録し初めての質問に初めて答えて下さったのはあなたです。そのことにとても感謝しております。本当に有り難うございました。

関連するQ&A

  • アクセス マクロ コマンドラインって?

    ヘルプを見てもよくわからないので教えてください。 アクセス2003のマクロの機能で 「アプリケーションの実行」を行いたいのですが コマンドラインには何を入れればいいでしょうか? テストとして デスクトップにあるエクセルファイルのパス C:\Documents and Settings\ユーザー名\デスクトップ\test.xls をマクロのデザインのコマンドラインのところに入れて、マクロ1を保存し ダブルクリックして開いてみたら --------------------------------------------------------- “RunApp/アプリケーションの実行”アクションを使ってアプリケーションを起動 アプリケーションのパスが正しく制定されていないか、 アプリケーションのコンポーネントが不足しています。 Windowsエクスプローラーまたはファイルマネージャで アプリケーションのパスを確認してください。 --------------------------------------------------------- というメッセージが表示されてしまいました。 C:\Documents and Settings\ユーザー名\デスクトップ\test.xls を “C:\Documents and Settings\ユーザー名\デスクトップ\test.xls” にしても同じです。 ヘルプを見ると >アプリケーションの起動に使用するコマンド ラインを指定します。 パスの指定や、アプリケーションを特定のモードで実行するスイッチなどのパラ マクロ ウィンドウの [アクションの引数] セクションの [Command Line/コマン コマンド ラインを入力します。 この引数は、省略できません。 と書いてあるのですが 「パスの指定」の指定が上記で出来てることにはならないのでしょうか?

  • アクセスから既存のエクセルファイルを開きたい

    やりたいことはタイトルどおりなのですが、やり方自体はネットでしらべて試してみました。 アクセスのフォームにコマンドボタンを作って、そこにアプリケーションの実行を登録して、ボタンを押せばエクセルが開く、というようにしたいと思いました。 たぶんそのやり方は間違っていないと思うのですが、私の場合、肝心なファイルのある場所を指定する、パス名(っていうんですかね?)そういうのをわかっていなくて、 自分の場合、どういうふうに書けばいいのかわかりません。 ちなみに、My Domumentsに入っているオーダー内容という名前のエクセルファイルのため、こういうふうに書きました。 C:\Documents and Settings\ユーザー名\excel.exe My Documents:\オーダー内容.xls これはファイルが見つかりません。というエラーが出て、 C:\Documents and Settings\scm\My Documents:\excel.exe c:\オーダー内容.xls これも同じエラーでした。 何を正せばよろしいのでしょうか?

  • バッチファイルでエクセルのマクロを動かしたい

    最近になってバッチファイルを知りました。バッチファイルを使ってエクセルファイルの中に書かれたマクロを動かしたいと思っています。 過去ログの検索をし、マクロが書かれたエクセルを起動させるところまではわかりました。 しかしその先がわかりません。わからない内容は次の二つです。 1)エクセル起動時マクロを有効にするかどうか聞いてきます。自動的に有効で起動させるにはどうしたらいいでしょうか。 2)Macro1という名前のものが001.xlsの中に既に作ってあったとして、これを作動させるにはどのようにしたらいいのでしょうか。 環境はwin xp sp2 office2000です。 過去ログを参考にし、下記記述で001.xlsを開くところまではわかりました。この後をどうすればいいか、よろしくお教えください。 "C:\Program Files\Microsoft Office\Office\excel.exe" "c:\My Documents\001.xls"

  • ACCESS Excelの出力について

    stressmanといいます。 実は、ACCESSでクエリをExcelへ出力をしたいのですが、 ここで、既存のExcelのファイルのセルを指定して出力 というこはできるのでしょうか? 選択クエリで必要な情報を抜き出し、そのクエリを 「営業報告書.xls」というファイルのあらかじめ記載して ある「顧客名」「住所」のセルに格納していきたいのです。 マクロで「コマンド実行」-「Excel出力」を使って みたのですが、新しくファイルを開き、クエリのデザイン そのままで出力されます。 宜しくお願いします。

  • VBA フォルダ内にファイルが存在するか確認したい

    OS: WindowsXP Office: 2003 ExcelVBAについて教えてください。 VBAで特定のフォルダー内でファイルが存在するかの確認をしたいのです。 例えば、以下のようなフォルダーに営業日がファイル名に付いた複数のファイルがあります。  C:\Documents and Settings\aaa\デスクトップ\作業\報告書20120201.xls  C:\Documents and Settings\aaa\デスクトップ\作業\報告書20120202.xls  C:\Documents and Settings\aaa\デスクトップ\作業\報告書20120203.xls  C:\Documents and Settings\aaa\デスクトップ\作業\報告書20120206.xls  C:\Documents and Settings\aaa\デスクトップ\作業\報告書20120207.xls  C:\Documents and Settings\aaa\デスクトップ\作業\報告書20120208.xls 処理は20120201(2012年2月1日)から順番に行うのですが、その際、 報告書20120203.xlsはファイルが存在しているので変数1を返す。 報告書20120204.xlsは休日のためファイルが存在しないので変数0を返す。 次の処理で変数1の場合は処理をし、変数0の場合は処理を飛ばすと言った内容のマクロを考えています。 要はフォルダー内にファイルが存在するかしないかの部分のマクロ記述を知りたいのです。 どなたか、よろしくお願いします。

  • Accessのマクロについて教えてください。

    WinXP Access2002です。 現在Accessのあるフォームにコマンドボタンを貼り付けこのボタンをクリック時にマクロでアプリケーションの実行を指定しExcelのファイルを開いています。具体的には c:\PROGRAM FILES\MICROSOFT OFFICE\OFFICE10\EXCEL.EXE D:\EXCEL\AAAY\BBB.XLS です。D:\以下はExcelで作ったファイルの格納場所です。現在これでうまくいっています。 この場合BBB.xlsしか立ちあがりません。これはこれでBBB.xlsだけで用が足りているので何ら問題ないのですがやろうとしていることは¥AAAのホルダーに入っている複数のCCC.xls、DDD.xls・・・・・・等をマクロの途中ダイアログボックス等で仮に今ほしいファイルがXXX.XLSだったとしたら目的のXXX.xlsを指定し開く方法がありますでしょうか。 又これが駄目ならマクロで¥AAAのホルダーまで開く方法はあるのでしょうか。何せAccessのマクロでExcelは立ちあがりますが沢山のホルダーがあるので一歩でも自動で近づきたいのです。方法がありましたらよろしく教えてください。

  • Excel → Access データをインポート

    OS WinXP Pro SP2 Office 2000 SP3 はじめまして。 マクロ(Excel VBA)を記述しているExcelファイル(Xls_Macro.xls)とインポート用データのExcelファイル(Xls_Data.xls)は別々のファイルになっていて、マクロを実行するとExcelファイルとインポート用データのExcelファイルのデータをAccessファイル(Access.mdb)にインポートする仕組みを開発しています。 インポート用データのExcelファイル(Xls_Data.xls)をADOで接続しレコードセットでデータを取得し、Accessファイル(Access.mdb)もADOで接続しレコードセットの「.AddNew」でAccessファイル(Access.mdb)に更新しようと考えています。 この考え方で問題ないのでしょうか!? もっと簡単な方法があるという方や、何か良い方法をお持ちの方 いらっしゃいましたら、よろしくお願いいたします。

  • コマンドプロンプトからEXCELファイルを開き、印刷後、閉じるを一括に行いたい

    Windows2000,XPでEXCEL2000を使っています。 コマンドプロンプトから次の(1)~(3)の動作を一括に動かせないものでしょうか。 今は(1)の動作を C:\>C:\PROGRAM FILES\MICROSOFT OFFICE\OFFICE\EXCEL.EXE C:\TESTPRINT.XLS" このように記述すれば自動的にTESTPRINT.XLSが開くのですがこれを自動的に印刷し、印刷が終わったら自動的にEXCELが閉じてほしいのです。具体的な記述を教えて下さい。 ---------------------- (1)EXCELファイル(TESTPRINT.XLS)を開く (2)TESTPRINT.XLSを印刷する (3)印刷後、EXCELを閉じる -----------------------

  • エクセル2007 マクロについて教えてください

    エクセルのデータが2個あります。 それぞれ、ファイル名は 顧客データ.xlsと個別シート.xlsです。 顧客データ.xlsには、10名のお客様の情報があり、A1セルには ID番号 と入力してあり、 A2~A11セルにID番号が入力されています。 『個別シート.xlsにマクロで顧客データ.xlsのデータをコピーし、ID番号のフォルダをデスクトップに新規作成し、ID番号を付けて保存する』マクロを作成中です。 顧客番号が1234のお客様のデータを、個別シートにコピーし、デスクトップに1234というフォルダを新規作成し、その中に 個別シート_1234.xls というファイル名で保存をしたいです。 顧客データを自動でコピーするまではできましたが、それ以降ができません。 MkDir "C:\ Documents and Settings\xxx\デスクトップ\nknk\ID " ChDir "C:\ Documents and Settings\xxxi\デスクトップ\nknk\ID " ActiveWorkbook.SaveAs Filename:="個別シート_" & ID & ".xls" ActiveWorkbook.Close マクロを実行すると『実行時エラー76:パスが見つかりません』とエラーになります。 (フォルダ作成の命令文のところが黄色くなります。) ちなみに、個別シートの指定したセルに、IDはコピーされています。 正しく実行できる文を教えてください。また、以降の命令文は正しいでしょうか。 よろしくお願いします。  

  • EXCELをもう一つ立ち上げたい

    マクロを使用して sub 関数1 shell "C:\Program Files\Microsoft Office\Office\EXCEL.EXE", 1 end sub と記述すれば EXCELがもう一つたちあがります。 また、 sub 関数2 Workbooks.Open FileName:="C:\MyDocuments\aa.xls" end sub と記述すればMyDocments配下のaa.xls というファイルがたちあがります。 そこで、ここから本題なのですが、 aa.xlsというEXCELファイルをもう一つのEXCELに立ちげる方法を教えて頂けませんでしょうか? よろしくお願いします。

専門家に質問してみよう