質問

 
お世話になります。
WindowsXP + SP3、VB.net(2005)の環境にて開発をしております。

VB.netから既存のエクセルファイル(雛形)を開き、特定の名称のシートを
アクティブにしたいのですがどのようにコーディングすれば良いでしょうか?
※色々とネットで情報検索してみましたが特定の名前のシートを操作する
 方法をうまく見つけられず質問致しました。

エクセルファイル名:売上情報_2009年.xls
シート名     :"200901" ~ "200912" の12シート


以前、VB6で同様のことを行ったときは以下のような記述で実現できました。

Dim xlApp As Object
Dim xlsheet As Object

xlApp = CreateObject("Excel.Application")
xlApp.Workbooks.Open(FileName:="C:\売上情報_2009年.xls")
xlsheet = xlApp.Sheets("200908")
xlsheet.Activate()

現状、vb.netで以下のコーディングまではできております。

Dim xlApp As New Excel.Application
Dim xlBooks As Excel.Workbooks = xlApp.Workbooks
Dim xlBook As Excel.Workbook = xlBooks.Open("C:\売上情報_200904.xls")
Dim xlSheets As Excel.Sheets = xlBook.Worksheets

よろしくお願い致します。
 

通報する

回答 (1件)

Dim xlApp As New Excel.Application
Dim xlBooks As Excel.Workbooks = xlApp.Workbooks
Dim xlBook As Excel.Workbook = xlBooks.Open("C:\売上情報_200904.xls")
Dim xlSheets As Excel.Worksheet = xlBook.Worksheets("200908")

xlApp.Visible = True
xlSheets.Activate()

と言う感じ?

この回答へのお礼

お世話になっております。

Option Strict On になっておりましたので型変換(CType)を追加して、
以下のロジックにてシート名指定でシートをアクティブにすることができました。
ありがとうございました。

Dim xlApp As New Excel.Application
Dim xlBooks As Excel.Workbooks = xlApp.Workbooks
Dim xlBook As Excel.Workbook = xlBooks.Open("C:\売上情報_200904.xls")
Dim xlSheet As Excel.Worksheet = CType(xlBook.Worksheets("200908"), Excel.Worksheet)

xlApp.Visible = True
xlSheet.Activate()
 

このQ&Aは役に立ちましたか?0 件

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

新しく質問する

注目の記事

コサージュを使いこなすには・・・

コサージュの基本的な付け方から、TPOに合わせたコサージュの選び方についてまとめました。


新しく質問する

このカテゴリの人気Q&Aランキング

毎日見よう!教えて!gooトゥディ

べんりQ&A特集