• ベストアンサー
  • 困ってます

vbaで別プロセスのexcelファイルを起動

  • 質問No.7962768
  • 閲覧数12306
  • ありがとう数2
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 70% (81/115)

ネット上で探したのですが見つからなかったので教えてください。

質問したい内容は以下の質問と同じような内容ですが、以下のページでは答えは出ていなかったみたいです。
http://soudan1.biglobe.ne.jp/qa5502114.html

【質問】
単純にWorkbooks.addや.openとしてしまうと同じプロセスからエクセルファイルを開いてしまいます。
別プロセスでファイルを開く方法を教えてください。

※注意 
上記の質問でも起こっていますが、この質問だと質問内容の食い違いが起こってしまう可能性があります。

【詳細】
簡単に言い直すと別ウィンドウでエクセルをvbaから開く方法を教えてください。
手で同じことを行う場合はまず普通にエクセルファイルを開き、次にwindowsスタートメニューからエクセルを開くとこれが実現できます。

別の方法として、vbaからvbs等の別のプログラムを呼び出して、ファイルを開く事で実現はできましたが、できればvba内で完結させたいです。

方法のご教授をお願いいたします。

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

  • 回答No.1
  • ベストアンサー

ベストアンサー率 36% (114/314)

こんな感じでしょうか。Cドライブの直下に2.xlsxというファイルがあるとします。

Sub main()

Call Shell("EXCEL c:\2.xlsx")

End Sub

Shell関数を使用してEXCELを起動します。
このとき引数として開きたいワークブックを指定すれば
別プロセスで、そのワークブックを開くことができます。
お礼コメント
napanapana

お礼率 70% (81/115)

回答ありがとうございます。

返事遅くなりましたが、この方法で実装できました、ありがとうございました。
投稿日時:2013/03/10 13:27

その他の回答 (全1件)

  • 回答No.2

ベストアンサー率 66% (5277/7938)

>別プロセスでファイルを開く方法

ご覧になった回答でも触れられていますが、createobjectを使います。


sub macro1()
 dim myApp as object
 set myapp = createobject("Excel.Application")
 myapp.workbooks.open "c:\test\book1.xls"
 myapp.visible = true
end sub
お礼コメント
napanapana

お礼率 70% (81/115)

回答ありがとうございます。

こちらも使用できましたが、今回はno1さんの方法で実装しました。
ありがとうございました。
投稿日時:2013/03/10 13:30
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
関連するQ&A

その他の関連するQ&Aをキーワードで探す

ピックアップ

ページ先頭へ