VB6からExcellのSheetNo.を設定する方法

このQ&Aのポイント
  • VB6でExcellをデータベースとして使用する際に、Sheet1以外のシートを指定する方法がわかりません。ご教示願います。
  • VB6でExcellをデータベースとして使用するには、Sheet1以外のシートのセルデータを読み込む方法を知りたいです。
  • VB6でExcellをデータベースとして使用する際に、Sheet1以外のシートのセルデータを読み込む方法について教えてください。
回答を見る
  • ベストアンサー

VB6からExcellのSheetNo.を設定する方法

VB6でEcellをデータベースとして使用します。 Excellのファイルを開きSheet1のセルデータを読み込むことは出来ますが、Sheet2以降のシートを指定する方法が判りません。教えてください。Ecellファイルは下記の手順でオープンしてます。 Dim fnm As String Dim exl As Object gStrExcelDir = CurDir fnm = gStrExcelDir + "ファイル名" Set exl = CreateObject("Excel.Application") exl.Application.Workbooks.Open FileName:=fnm ここまででSheet1のセルデータの読み込みはできます。 次に新しいSheetNo.を設定する方法が判りません。 よろしく御願い致します。

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

  • ベストアンサー
  • samtomsan
  • ベストアンサー率55% (1060/1897)
回答No.2

すみません、VB6でしたね。 With句を使わず strSheetNo = exl.Worksheets(2).Cells(c, l) あるいは strSheetNo = exl.Worksheets("Over_C").Cells(c, l) でよいかと思います。

sansaiji
質問者

お礼

ありがとうございました。 シートNo.の指定は数値でも文字でもOKでした。 初心者なのでこんな事でもすぐつまずいてしまいます。 本当に助かりました。

その他の回答 (1)

  • samtomsan
  • ベストアンサー率55% (1060/1897)
回答No.1

例えば With Worksheets(2) ・・・・・ End With ですね。

sansaiji
質問者

補足

ありがとうございました。 With Worksheets(2) With Worksheets("Over_C") 'Over_C:Sheet2の変更後の名称 の2通り試しましたが strSheetNo = exl.Cells(c, l) でセルを読み出すとSheet1の内容を読み出します。

関連するQ&A

  • VB6からExcellのSheetNo.の設定方法

    VB6で、Excellを使用するアプリケーションを作成中です。 下記の手順でExcellファイルをオープンしていますが、SheetNo.を指定する方法が判りません。VB6は全くの初心者でExcellファイルを開くやり方もネットからもってきたもので、意味も判らないまま使用しています。 よろしく御願いします。 Dim fnm As String Dim exl As Object gStrExcelDir = CurDir         'gStrExcelDir:String変数 fnm = gStrExcelDir + "\ファイル名" Set exl = CreateObject("Excel.Application") exl.Application.Workbooks.Open FileName:=fnm ここまででファイルのオープンは出来ていて、SheetNo.1のセルのデータ読み込みは出来ます。 この後、別なSheetNoを設定する方法が判りません。

  • VB6でEXCELをクローズ出来ない

    VB6でEXCELを使用した後クローズ処理をしたつもりですが、VBと別にEXCELを起動しVBで使ったEXCELを読み込もうとすると、「編集のためロックされています」とメッセージが出て、読み取り専用でしかオープン出来ません。また、VBでEXCELを繰り返しオープンするとメモリがいっぱいになってしまいます。 VBでのEXCELオープンは Dim fnm As String Dim exl As Object fnm = "EXCEL File名" 'フルパスで指定 Set exl = CreateObject("Excel.Application") exl.Application.Workbooks.Open FileName:=fnm クローズは Set exl = CreateObject("Excel.Application") exl.Application.Quit Set Sheet = Nothing Set BooK = Nothing Set ExcelApp = Nothing 以上です。なお、VBの参考書は入門書だけ持っていますが、このようなことは書いてありません。従って上のコードも意味もわからず、ネットから拾ってきたまま使用しています。参考書または、Webサイトを紹介して頂ければ有り難いです。

  • SETを使ったほうがよい?

    accwessからエクセルファイルを開きたいのですが、 App.Workbooks.Open と、 Set xlBook = xlApp.Workbooks.Open とどちらを使った方がいいのでしょうか? ////////////////////////////////////////////////////////// Private Sub ファイル1_Click() Dim App As Object Dim MyFileName As String MyFileName = "D:\My Documents\test.xls" Set App = CreateObject("Excel.Application") App.Workbooks.Open FileName:=MyFileName App.Visible = True End Sub でも Private Sub ファイル2_Click() Dim xlApp As Object Dim xlBook As Object Dim FileName As String Const FolderName = "D:\My Documents\test.xls" Set xlApp = CreateObject("Excel.Application") Set xlBook = xlApp.Workbooks.Open(FolderName & FileName) xlApp.Visible = True Set xlApp = Nothing Set xlBook = Nothing End Sub ////////////////////////////////////////////////////////// でも開けました。 多分、SETを使うかどうかの違いだと思うのですが VBAでコードを作る際、どちらのコードを使った方がいいか教えてください。

  • excelのデータをvbにとりこむ

    excelのあるセルのデータを取り込みたいのですが、 どうすればよいでしょうか? C:\123.xlsというファイルのsheet1の (2,4)というセルにある実数型のデータを 出力するという、意図です。 Private Sub Setting_Click() Dim xls As Object Dim xlsFilename As String Dim xlsSheetname As String xlsFilename = "C:\123.xls" xlsSheetname = "Sheet1" Set xls = CreateObject("Excel.Application") xls.Application.Visible = False xls.Application.Workbooks.Open xlsFilename Dim r1 As Double r1 = xls.Application.Workbooks.cells(2, 4).Value Print r1 end sub

  • VB.net(2005)でエクセルの特定名称のシートを操作したい。

      お世話になります。 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 よろしくお願い致します。  

  • CreateObjectとGetObjectの違い

    当方エクセル2003です。 Sub test_CreateObject() Dim App As Excel.Application Dim MyFileName As String Set App = CreateObject("Excel.Application") MyFileName = ActiveWorkbook.Path & "\新規Microsoft Excel ワークシート.xls" With App .Workbooks.Open FileName:=MyFileName .Visible = True End With Set App = Nothing End Sub --------------------------------------------------------- Sub test_GetObject() Dim App As Excel.Application Dim MyFileName As String Set App = GetObject(, "Excel.Application") MyFileName = ActiveWorkbook.Path & "\新規Microsoft Excel ワークシート.xls" With App .Workbooks.Open FileName:=MyFileName .Visible = True End With Set App = Nothing End Sub この二つは何が違うのでしょうか? どちらも既存のエクセルファイルがが開きます。

  • VisualBaic2005でExcelファイルを読む方法

    Dim oExl As Excel.Application Dim WorkBookName As Excel.Workbook Dim Open_WorkSheet_Name As Excel.Worksheet oExl = CreateObject("Excel.Application") WorkBookName = oExl.Workbooks.Open("d:\book011.xls", , False) この時点でExcelのファイルが開きません。 また、oExl.Visible = True を実行するとExcel自体は開くのですが、ファイルのオープンは できません。また、終了時に oExl.Workbooks.Close() oExl = Nothingを実行すると Excel自体は閉じるのですが、プロセスは残りまます。 VB2005からExcelファイルを読む方法とクローズ処理の方法を 教えてください。よろしくお願いします。

  • VB2008でEXCELのセルデータが読めません

    VB2008でEXCELを開き、セルの内容を読み込もうとしましたが読み込めません。 EXCELのオープンとセルの読み込みは下記により行いました。 Dim strExcelFile As String 'エクセルファイル Dim xlApp As Excel.Application       Dim strExcelData As String xlApp = CreateObject("Excel.Application") xlApp.Workbooks.Open(Filename:=strExcelFile) xlApp.Visible = True 'EXCELは表示されている strExcelData = xlApp.Cells(3,4).ToString EXCELの3列4行には数値が入っていますが、strExcelDataには"System._ ComObject"というデータが読み込まれています。 ToStringは、これをつけないとデータの型が違うとエラーになります。 EXCELのデータは文字型と思っていましたがこれも判りません。 VBのMicrosoft Excel9.0Object LibraryをクリックしてOKしています。 原因の見当が皆目つかず困っています。

  • CreateObject関数 引数にパスワード

    CreateObject関数を使ってエクセルを開く際に、 引数にパスワードを設定することは可能ですか? 新規Microsoft Excel ワークシート.xlsと言うファイルには、 読み足りパスワードとして0000と言うパスワードが設定されているのですが Sub Sample() Dim MyPath As String Dim MyFile As String Dim xlApp As Object Dim xlBook As Object MyPath = "C:\" MyFile = "新規Microsoft Excel ワークシート.xls" Set xlApp = CreateObject("Excel.Application") Set xlBook = xlApp.Workbooks.Open(MyPath & MyFile) xlApp.Visible = True Set xlApp = Nothing Set xlBook = Nothing End Sub このようなvbaコードで開く時に、 どうやってパスワードを設定すればいいでしょうか? Set xlBook = xlApp.Workbooks.Open(MyPath & MyFile),"0000" こうすると構文エラーになります。 Sub Sample02() Dim MyPath As String Dim MyFile As String MyPath = "C:\" MyFile = "新規Microsoft Excel ワークシート.xls" Workbooks.Open Filename:=MyPath & MyFile, Password:="0000" End Sub これのCreateObjectバージョンが知りたいです。

  • VB6からエクセル操作

    VB6でエクセルを開き、ある処理をして、 名前を付けて保存ダイアログを出して保存したいのですが、 名前を付けて保存ダイアログを出すところがうまくいきません。 Dim app As Excel.Application Dim book As Excel.Workbook Dim sheet As Excel.Workshee Set app = CreateObject("Excel.Application") app.Visible = True Set book = app.Workbooks.Open("c:\test.csv") 'ファイルを開く Set sheet = book.Worksheets(1) sheet.Columns("B:D").Delete Shift:=xlToLeft sheet.Columns("C:D").Delete Shift:=xlToLeft sheet.Rows("1:7").Delete Shift:=xlUp ここで、名前を付けて保存ダイアログを出して、ファイルを保存したい。

専門家に質問してみよう