• ベストアンサー

vb から Excel vba をうまく操作できない。

VB 初心者で、困っています。 Excel VBA でいろんなツールを作成していますが数が多くなったので、今回、このツールを呼び出すメニューを作ろうと考えて、VB2008でメニューを作成したのですがうまく動作しません。 Excel VBAで作成しているツールは、単独で動作させれば、一番最後に新たなExcelファイルを作成・画面表示でツール自体は終了。となるのですが、VBメニューからツールを起動させると、最後に作成しているはずのExcelファイルが画面表示されません。(ファイルは作成されているみたいですが・・・) ・Excel VBA の新たなファイルへの出力部分です。     Worksheets("シート").Copy     Unload Me     Application.WindowState = xlMaximized     Workbooks("●●.xls").Close SaveChanges:=False ・VB2008 で呼び出すメニューボタン部分です。 Dim Exap As Object Exap = CreateObject("Excel.application") Exap.Workbooks.open("C:\●●.xls") Exap = Nothing よろしくお願いします。

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

  • ベストアンサー
  • ctrlzr
  • ベストアンサー率29% (18/62)
回答No.1

Exap = CreateObject("Excel.application") Exap.Visible = True Exap.Workbooks.open("C:\●●.xls") で試してください。

colariomay
質問者

補足

早速の回答ありがとうございます。 質問していた最終的な処理はうまく行きましたが、ツールを呼び出した時に今までユーザフォームのみが表示されていたのですが、背面にワークシートが表示されるようになってしまいました。 単独ツールの時は ThisWorkbook に Application.WindowState = xlMinimized AppActivate "microsoft excel" UserForm_menu.Show と記述していましたが、VB から起動するとうまく行かなかったので、 UserForm_menu.Show のみ記述しています。

その他の回答 (1)

noname#259269
noname#259269
回答No.2

あと更に Exap = Nothing は別に必要ではなくて、代わりに以下が必要です。 System.Runtime.InteropServices.Marshal.ReleaseComObject(Exap)

colariomay
質問者

補足

ありがとうございます。 前回補足部分はいろいろやってますが、改善できずにいます。 よろしくお願いします。

関連するQ&A