「wsh excel 3つ目シート選択」
という検索キーワードでのアクセスがありました。
Excelブックの、3枚目のシートを選択するスクリプトを探していた方による検索です。
N枚目のシートを選択するサンプルスクリプト
以下のコードを含んだ拡張子「.vbs」のファイルを作成して、Excelファイルをドラッグアンドドロップすると、3枚目のシートが選択されて保存し直されます。
'-- main begin ----
Const NUM = 3 ' 選択したいシート番号
Dim args
Set args = Wscript.Arguments
If args.Count < 1 Then
MsgBox NUM & "枚目のシートを選択したいExcelファイルを、ドラッグ&ドロップしてください。"
Wscript.Quit
End If
Private xls
Set xls = CreateObject("Excel.Application")
xls.Visible = False
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
Dim f_path ' ファイルのフルパス
For Each f_path in args
Select Case UCase(fso.GetExtensionName(f_path))
Case "XLS", "XLSX", "XLSM", "XLSB"
Call selectTheSheet(f_path)
Case Else
MsgBox fso.GetFileName(f_path) & "はExcelファイルではありません。"
End Select
Next
Set fso = Nothing
xls.Quit
Set xls = Nothing
MsgBox "スクリプトが終了しました。"
'-- main end ----
Private Sub selectTheSheet(ByVal fullPath)
Dim bk
Set bk = xls.Workbooks.Open(fullPath)
With bk.Sheets
If .Count >= NUM Then
If .Item(NUM).Visible Then
.Item(NUM).Select
bk.Save
End If
End if
End With
Set bk = Nothing
End Sub
サンプルスクリプトの解説
何枚目のシートを選択するのかを、
Const NUM = 3
定数NUMで指定します。
選択を行っているのは、SubプロシージャselectTheSheetです。
N枚目のシートが存在しなかったとき、N枚目のシートが非表示になっていたときに、どうしたいのかが不明ですので、ここでは存在していて、
With bk.Sheets
If .Count >= NUM Then
非表示になっていなければ、
If .Item(NUM).Visible Then
選択して上書き保存しています。
.Item(NUM).Select
bk.Save
- Newer:CurrentRegionの最終セルを取得・選択する
- Older:ワンポイント(コラム)の目次
Home » WSH・Windows Script Hostの使い方 » ExcelのN枚目のシートを選択するVBScript