現在開いているすべてのシート名を表示するコンボボックスが必要です。コンボボックスで開いているすべてのシートを一覧表示する
開いているブックをすべて一覧表示し、シートを編集するコードが見つかりました。それは正しくすべてのブックを正しくサイクリングしているようですが、現在アクティブなExcelブックのワークシートのみを一覧表示しています。
現在のコードは以下のとおりです。このサブフォームは、フォームがロードされたときに呼び出されます。
dt.Columns.Add("sheets")
Try
If IsNothing(app) Then
app = CType(Marshal.GetActiveObject("Excel.Application"), Excel.Application)
End If
Dim bks = app.Workbooks
Dim dks = app.Worksheets
dt.Clear()
For Each bk As Excel.Workbook In bks
Debug.WriteLine(bk.Name)
For Each dk As Excel.Worksheet In dks
Debug.WriteLine(dk.Name)
dt.Rows.Add(dk.Name.ToString())
Next
Next
ComboBox1.DataSource = Nothing
ComboBox1.Items.Clear()
ComboBox1.DataSource = dt
ComboBox1.DisplayMember = "sheets"
Catch ex As Exception
MsgBox(ex.ToString())
End Try