DOBON.NET DOBON.NETプログラミング掲示板過去ログ

VB.NETでExcelブックの開閉

環境/言語:[WindowsXP/VB.NET]
分類:[.NET]

質問です。

VB.NETで、Excelのファイルを開くコードを組んだのですが、
コードを実行する前にExcelを起動していると、
実行した時、すでに起動しているExcelに開くのではなく、新しくExcelを
起動して開いてしまうのですが、これは直しようがないのでしょうか?

それとも、コードの書き方が悪いのでしょうか?

ブックの開閉のコードだけ載せますので、
どなたかご意見宜しくお願いします。

Private Sub openRegexFile(ByVal divideFilePath As String, ByVal
saveFilePath As String)
Dim xlApplication As New Excel.Application
Dim xlBooks As Excel.Workbooks
  dim applicationPath as String
Dim targetFile As Excel.Workbook

xlBooks = xlApplication.Workbooks
applicationPath = System.Windows.Forms.Application.StartupPath
targetFile = xlBooks.Open(applicationPath & "\正規表現表")
xlApplication.Visible = True

System.Threading.Thread.Sleep(1000)

targetFile.Close()

xlApplication.Quit()

System.Runtime.InteropServices.Marshal.ReleaseComObject(xlBooks)
System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApplication)
End Sub
■No16054に返信(VBさんの記事)
> コードを実行する前にExcelを起動していると、
> 実行した時、すでに起動しているExcelに開くのではなく、新しくExcelを
> 起動して開いてしまうのですが、これは直しようがないのでしょうか?

それは、

> Dim xlApplication As New Excel.Application

新しい Excel.Application のインスタンス上で、

> xlBooks.Open(applicationPath & "\正規表現表")

Open しているからですよね。

同じ、Excel.Workbooks へ Open すれば問題ないでしょう。
■No16055に返信(じゃんぬねっとさんの記事)
> ■No16054に返信(VBさんの記事)
> それは、
>
>>Dim xlApplication As New Excel.Application
>
> 新しい Excel.Application のインスタンス上で、
>
>>xlBooks.Open(applicationPath & "\正規表現表")
>
> Open しているからですよね。
>
> 同じ、Excel.Workbooks へ Open すれば問題ないでしょう。

じゃんぬさん、有り難うございました。

すごく解かり易い説明でした。
おかげで無事解決できました。

本当に有り難うございます。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板