前画面へ戻る
Sub Macro2()
'このマクロは、任意のExcelファイルを開いてそのシート名を取得する方法を編集しています。
'変数の宣言
Dim Flt
Dim ImanoFile 'MacroFile
Dim ImanoSheet 'MacroSheet
Dim FileName 'OpenFile
Dim SheetName() 'OpenSheet
Dim i As Integer
Dim ShtCnt As Integer 'Sheetカウント変数
Dim SheetMei
'-----------シートデータ クリア--------
Cells.Select 'シート全体を選択
With Selection
.ClearContents 'データのクリア
.ClearFormats '書式のクリア
End With
'--------------------------------------
'現在のファイル名の取得
ImanoFile = ActiveWorkbook.Name
'現在のシート名の取得
ImanoSheet = ActiveSheet.Name
MsgBox ("このファイル名:" & ImanoFile & Chr(13) & Chr(10) & _
" ,このシート名:" & ImanoSheet)
'----------------------------------------------------------
MsgBox ("エクセルブックを開いて下さい")
'Openするファイルの種類
Flt = "Excelファイル(*.xls),*.xls"
'「ファイルを開く」ダイアログOpen
FileName = Application.GetOpenFilename(Flt)
'ファイル名がなかったら終了
If FileName = False Then
Exit Sub
End If
'ファイルOpen
Workbooks.Open FileName
'Openファイル名の取得
FileName = ActiveWorkbook.Name
'-----------------------------------------------------------
'シートをカウント
ShtCnt = Application.Sheets.Count
'空領域の配列変数にメモリを割り当てる
ReDim SheetName(ShtCnt)
'メッセージ表示の初期設定
SheetMei = ""
For i = 1 To ShtCnt
'配列変数にシート名を代入する
SheetName(i) = Workbooks(FileName).Sheets(i).Name
'メッセージをつなげる(& Chr(13) & Chr(10) は改行コード)
SheetMei = SheetMei & "<" & SheetName(i) & ">"
& Chr(13) & Chr(10)
Next i
MsgBox ("Openしたファイル名は〔" & FileName & "〕" & Chr(13) & Chr(10) & _
"シートは" & ShtCnt & "枚" & Chr(13) & Chr(10) & _
"シート名" & Chr(13) & Chr(10) & SheetMei)
'-----------------------------------------------
'ファイル名とシート名の表示
Workbooks(ImanoFile).Sheets(ImanoSheet).Activate
Range("A1").Select
With ActiveSheet
.Cells(6, 2).Value = "ファイル名"
.Cells(6, 3).Value = Workbooks(FileName).Name
.Cells(7, 2).Value = "シート名"
End With
For i = 1 To ShtCnt
ActiveSheet.Cells(7 + i - 1, 3).Value = SheetName(i)
Next i
'Openしたファイルの表示
'Workbooks(FileName).Sheets(1).Activate
'Range("A1").Select
End
End Sub
前画面へ戻る