• 締切済み

VBでのエクセルの起動

ファイルリストボックスで選択した.xlsファイルを コマンドボタンを使用してExcelを起動し そのファイルを表示(使用)するには どの様にすれば宜しいのでしょうか? コーディングなど教えて頂けると大変助かります 宜しくお願い致します。

みんなの回答

  • arata
  • ベストアンサー率49% (139/279)
回答No.4

millionwakerさんの回答に追加を 既にExcelが起動していれば、そのExcelで開くようにする Dim objExl As Object Err.Clear On Error Resume Next Set objExl = GetObject(, "Excel.Application") If Err.Number <> 0 Then Set objExl = CreateObject("Excel.Application") End If objExl.Workbooks.Open ファイル名 objExl.Visible = True Set objExl = Nothing

  • tom777
  • ベストアンサー率77% (14/18)
回答No.3

ShellExecute APIを利用するのもいいかも。

  • hd77
  • ベストアンサー率28% (17/60)
回答No.2

選択された、ファイルをEXCELで開くという事でしたら、Shellを使用 すれば、可能かと思います。 ただし、この場合はVBで作成したアプリとは非動機でEXCELが起動 します。 <例>  xl = shell("EXCELのパス bookのパス")

回答No.1

Excelを起動してファイルを開くところだけ。 Dim xl As Excel.Application Set xl = CreateObject("Excel.Application") xl.Visible = True xl.Workbooks.Open(strFileName) 参照設定はちゃんとしておいてくださいね。 ファイルリストで選択するのもコマンドボタンが押されたときの処理も聞きたいということであればまたご質問ください。

関連するQ&A

  • VB6.0 で CSVファイルをEXCELで起動

    VB初心者です。 質問内容なのですが、 VBで「ドライブ/ディレクトリ/ファイルリストボックス」を用いて、ファイルボックスから表示されたファイルをクリックしてCSVファイルをEXCELで起動したいプログラムを作成したいのですが、 CSVファイルをクリックしたときにEXCELで起動する部分のプログラムがわかりません。 言葉足らずの部分が多々あるかと思いますが、手が空いたときにでも、御教授を宜しくお願い致します。

  • エクセルでのフォームにて実現したい機能

    エクセルにてリストボックス2つ。コマンドボタン1つを使った プログラムを作っています。 リストボックス1=大分類選択 リストボックス2=選択した大分類により小分類がリストアップされる コマンドボタン=リストボックス2に表示された文字列を読み、 ハイパーリンクで他のシートへ飛ぶ。 コマンドボタン押下にてリストボックス2で選択した内容(文字列)に ハイパーリンクを貼り、別のシートへ飛ぶというプログラムは どのように実現すればよいでしょうか。 例)リストボックス2の内容を一度テキストに落としてハイパーリンクを  つけるなど。。  初心者ですので具体的な回答をお願いいたします。

  • VBからEXCELを起動する

    VBよりExcelを起動するプログラムで困っています。 1.VBよりGetObject関数でTest.xlsを開く 2.Test.xls内のAuto_Openマクロでパラメータファイルをよみ、そこに指定されているエクセルファイルを新しいブックでを開く ということをしたいのですが(「マクロを有効にする」のダイアログは表示されてもかまわないです)、何故かTest.xlsが開いたと思ったらすぐ閉じてしまいます(Excel自体は終了してないですべてのワークシートが閉じた状態)。 Auto_Openマクロは走ってるようなのですが、ついでにCloseマクロも走ってしまいます。 ちなみにTest.xlsを単体で動かしたときは問題なく動くのです・・・。 以前はVB4+Excel95の環境でAPI(CreateProcess)を使用し同作業を行っていたのですが、そのAPIが長いファイル名のスペース(OFFICEがある「Program File」のスペース)を認識しないそうで、この方法が使えないということでGetObjectを使用してみたのですが・・・。 何か根本的な間違いをしているのか、それともコードにエラーがあるのかさっぱりわからずお手上げです。 うまく疑問点を説明できているか不安なんですが、わかる方、どうかご指導願います。 よろしくお願いします。 ---------------------------------------- OSは、Windows 2000 アプリケーションは、Excel 2000 です ----------------------------------------

  • VBからエクセルマクロを実行したい

    VB2008で コマンドボタンを押すと 現在開いているエクセルファイル(test.xls)のマクロ1を実行させることは可能でしょうか? できればコードを教えていただける助かるのですが、、、 よろしくお願いします。

  • VBでExcelが起動されているか知りたい

    環境 winXP Office2000 Excel VB6.0 sp5 VBからExcelが起動されているか知りたいのです。 【状況1】 [a.xls]を起動している状態で下記を実行すると問題なく起動が確認できます。 【状況2】 [a.xls][b.xls]を起動してて[b.xls]が前面にある場合は下記を実行しても[a.xls]を探せません。 またウインドウを最大化にしていない場合も"Microsoft Excel -"という文言がいらない?せいか探せません。 [FindWindowEx]を使用すればできるのかと思いましたがイマイチ使い方が分からず困っています。 よろしくお願いします。 'sampleソース--------------------------------------------- hwnd = FindWindow("XLMAIN", "Microsoft Excel - a.xls") If hwnd = 0 Then Msgbox(" 0 は、Excel が起動していないことを示します。") Else Msgbox(" 起動中") End If 'sampleソース---------------------------------------------

  • VBからExcelに書き込む方法

    こんにちは。VB6.0(SP5),Excel2000,Win2000でVBの勉強をしています。 VBでコマンドボタンを押した時に、テキストボックスのデータを、Excelに書き込みたいと思っています。 特定のExcelに書き込むことは「GetObject」で出来たのですが、名前がわからない場合はどうしたらよいのでしょうか? ※ExcelはVBから起動したものではなく、人が任意のファイルを起動しています。Excelの名前はわかっていません(任意なので、何かわかりません) このような場合に、VBから書き込むのは可能なのでしょうか? よろしくお願いします。

  • Excel VBAについて

    Excelのシートにコマンドボタンを配置して、そのコマンドボタンをクリックすると「ファイルを開く」のダイアログボックスを表示したいと思っています。 そのとき、デフォルトでファイルの場所は「D:\Test」にしたいのですが、どうしたらよいのでしょうか。 ユーザは、ファイルの場所を探さずに、コマンドボタンをクリックしたら開きたいファイル名を指定するだけでいいようにしたいのですが。 下記では、ファイルを開くダイアログは表示されるのですが、ファイルの場所を毎回探さなくてはいけません。 どなたかご教授下さい。 Private Sub Cmd_ファイル選択_Click() Dim FileName As Variant FileName=Application.GetOpenFileName("Microsoft Excelブック,*.xls") Workbooks.Open OpenFileName End Sub

  • 同じEXCELファイルが二つ起動されます

    あるEXCELファイルを開くと二つ起動されます. AAA.xlsを開くとAAA.xls:1 と AAA.xls:2の二つのWINDOWが表示されるという現象です。 他のEXCELファイルでは起こりません。原因はなんなのでしょうか?

  • エクセルを起動すると、コンバイルエラーが出ます。

    タイトルにありますとおり、職場のノートパソコンで(Me)、Excel2000を起動すると、Visual Basicが起動し『コンバイルエラー プロジェクトまたはライブラリが見つかりません。』と言うダイアログボックスが出てきます。 ここで、「OK」を選択し、「閉じる」ボタンをクリックすると「このコマンドを使うとデバッグは中断します。」と言うダイアログボックスが出て、さらに、「OK」を選択すると、通常のエクセルの画面になります。 この状態で使用できない事もないのですが、出来れば、この「コンバイルエラー」を表示させずにExcelが起動出来ればと思い、質問させて頂きました。 実際に使用しているものも、私自身もあまりパソコンに詳しくない為、どうすればよいものかと困っております。officeのアンインストールをした後に、Microsoft Office 2000 standardの再インストールを2回、officeの修復作業も1度やってみましたが、結果は変わりませんでした。 大変申し訳ないのですが、対処方法を御存知の方がいらっしゃいましたら、教えて頂けると助かります。

  • Excelのダイアログを閉じるプログラムは?

    現在Excelにて、コマンドボタンを押すとダイアログで 6つにグループ分けしたボタンを表示させ、 (たとえば野菜グループ、果物グループ、魚グループ、肉グループ... といった感じの6つのグループ) その6つのうちの一つ(たとえば果物グループ)を押すと、 果物のリストボックスが入ったダイアログが現れ、 そのリストから1つ(たとえばバナナ)を選択し、OKボタンを押すと 選んであったセルにバナナと入力されるというものです。 しかし、2つ目のリストボックスは、 リストから1つ選んでOKを押した時点で閉じるのですが、 1つ目のダイアログは6つのうちの1つを選択しても閉じず、 次のダイアログを起動させるプログラムしか組めていない為、 入力し終えたあと、自分で×(閉じる)ボタンを押して、 終了させなければなりません。 6つのうちの1つを選んで、次のダイアログを起動させた時点で 終了させるにはVBA(VBE?)にどう書き込めば良いのでしょうか? 2つ目に起動するリストボックスを表示させるダイアログの 閉じる為のプログラムと思われる箇所には 下記のように入力されています。 '確認ボタン(OKボタン)が押された場合の処理 If ListBox1.ListIndex > 0 Then ActiveCell.Value = ListBox1.List(ListBox1.ListIndex) なにぶん初心者なもので、全然分からないまま、 ネットの参考資料等を見ながらここまできましたが、 行き詰ってしまいお願いした次第です。 何卒、宜しくお願い致します。

専門家に質問してみよう