※ ChatGPTを利用し、要約された質問です(原文:VB2008を使用していますが教えて下さい。)
VB2008でExcelVBAを利用する方法について
このQ&Aのポイント
VB2008を使用している際に、Excelブックを開く際に「マクロを有効にする」画面を表示せずに、直接ユーザフォームを表示させてExcelVBAを利用したい場合、どの方法を試してもエラーが発生します。
VB2008を使用している際に、Excelブックを開く際に「マクロを有効にする」画面が表示されてしまう方法では、ExcelVBA上で新たなExcel形式のファイルを出力することができます。
上記の(1)の方法では「マクロを有効にする」画面が表示されず直接ユーザフォームが表示されますが、VBA上で新たなExcel形式のファイルを出力しても画面上に表示されません。解決策としては、Visible=True の記述を追加する方法がありますが、具体的な方法は分かりません。
VB2008を使用していますが教えて下さい。
VBからExcelブックを開く時に「マクロを有効にする」を選択する画面を表示させずに直接ユーザフォームを表示させて、ExcelVBAを利用したいのですが、どうしても上手く出来ません。いろいろネットで調べて試行しているのですが、どれもエラーになってしまいます。
現在下記の(1)(2)をExcelVBAの内容により使い分けをしています。助言方よろしくお願いします。
(1)
この記述では「マクロを有効にする」は表示されず直接ユーザフォームが表示されます。ただ、VBA上で新たなExcel形式のファイルを出力させても画面上に表示されません。
※Visible=True の記述で解消しそうですが分かりません。
Dim xlApp As Object = CreateObject("Excel.Application")
Dim xlBooks As Object = xlApp.workbooks
Dim xlBook As Object = xlBooks.Open(FileName:="c:test.xls")
xlApp = Nothing
xlBooks = Nothing
xlBook = Nothing
(2)
この記述では「マクロを有効にする」を選択する画面が表示されてしまいます。ただ、ExcelVBA上で新たなExcel形式のファイルを出力できます。
Dim proc As New Process()
proc.StartInfo.FileName = "c:test.xls"
proc.Start()
proc = Nothing
お礼
お礼が遅くなり申し訳ありませんでした。 私も xlApp.Visible = True を記述するのだろうとは思っていたのですが 書く場所を間違ってました。(1)が正解ですね。(2)の場所に書いてました・・・ Dim xlApp As Object = CreateObject("Excel.Application") xlApp.Visible = True ・・・(1) Dim xlBooks As Object = xlApp.workbooks Dim xlBook As Object = xlBooks.Open(FileName:="c:test.xls") xlApp.Visible = True ・・・(2) xlApp = Nothing xlBooks = Nothing xlBook = Nothing