| No | 項目 | 内容 | 例文 | 記事 |
| 1 | 開く | ファイルを指定してブックを開く | Workbooks.Open Filename:="C:\tst\tstBook1.xls" | |
| 2 | 開く | ブックを読み取り専用で開く | Workbooks.Open FileName:="c:\test.xls" , ReadOnly:=True | |
| 3 | 開く | ブックをリンクの更新をしないで開く | Workbooks.Open Filename:="C:\tst\tstBook1.xls", UpdateLinks:=0 | |
| 4 | 開く | ファィルを開くダイアログからブックを開く | myfil = Application.GetOpenFilename("Excelファイル(*.xls),*.xls") | |
| 5 |
保存 |
アクティブブックを名前を付けて保存する (Excel2003と2007を同じ記述) |
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & _ "\tstBook2.xls", FileFormat:=xlWorkbookNormal |
|
| 6 | 保存 | ワークブック"Book1.xls"を保存しないで閉じる | Workbooks("Book1").Close SaveChanges:=False | |
| 7 | 保存 | ワークブック"Book1.xls"を保存して閉じる | Workbooks("Book1").Close SaveChanges:=True | |
| 8 | 保存 | アクティブブックを上書き保存して | ActiveWorkbook.Save | |
| 9 | 閉じる | アクティブブックを閉じる | ActiveWorkbook.Close | |
| 10 | 閉じる | 指定したブックを閉じる | Workbooks("tstBook1.xls").Close | |
| 11 | 閉じる | 開かれているすべてのブックを閉じる | Workbooks.Close | |
| 12 | 閉じる | 閉じると共にExcelを終了する | Application.Quit | |
| 13 | 閉じる | 確認メッセージを表示しないでブックを閉じる | Application.DisplayAlerts = False ・・・・・・ | [ブック1]マクロ |
| 14 | 新ブック | ワークブックを新規に作成する | Workbooks.Add | |
| 15 | 参照 | 指定ブックをアクティブにする | Workbooks("Book1.xls").Activate | |
| 16 | 参照 | インデックス指定でアクティブにする | Workbooks(1).Activate | |
| 17 | 参照 | マクロ入りのブックをアクティブにする | ThisWorkbook.Activate | |
| 18 | 設定 | ファイルのアクセスの変更読み取り専用 | ActiveWorkbook.ChangeFileAccess Mode:=xlReadOnly | |
| 19 | 設定 | ファイルのアクセスの変更読み書き可能に設定 | ActiveWorkbook.ChangeFileAccess Mode:=xlReadWrite | |
| 20 | 情報取得 | ブックのファイル形式を取得する | Msgbox ActiveWorkbook.FileFormat | |
| 21 | 情報取得 | 読み取り専用か調べる | Msgbox ActiveWorkbook.ReadOnly | |
| 22 | 情報取得 | 読み取り専用か調べる(開いてないブック) | Msgbox GetAttr("C:\tst\tstBook1.xls") And vbReadOnly | |
| 23 | 情報取得 | Windowsコレクション数量 | MsgBox Windows.Count | |
| 24 | 情報取得 | 開いているウインドウズのコレクションチェック | For Each file_name In Windows ・・・・ | [ブック2]マクロ |
Subブック1()
Application.DisplayAlerts = False
ActiveWorkbook.Saved = True
ActiveWorkbook.Close
Application.DisplayAlerts = False
End Sub
|
Subブック2()
Dim i As Integer, mydat As String, b_name As Object
For Each b_name In Windows
i = i + 1
mydat = mydat & " (" & i & ")" & b_name.Caption
Next
MsgBox mydat
End Sub
|
Const fil2a As String = "小文字.xls"Subブック2a()
phn = ThisWorkbook.Path 'このマクロ同じフォルダのブック
fila = 0
For Each file_name In Windows
If file_name.Caption = fil2a Then
Windows(fil2a).Activate
fila = 1
End If
Next
If fila = 0 Then
Workbooks.Open Filename:=phn & "\" & fil2a
End Sub
|
| ※上記は指定のブックは開いているかチェックし、開いていない場合は開く。 |
Sub 保存1_1()
Workbooks.Add
If CSng(Application.Version) > 11 Then
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & _
"\tstBook.xls", FileFormat:=xlExcel8
Else
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\tstBook.xls"
End If
ActiveWorkbook.Close
End Sub
|
Sub 保存1_2()
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & _
"\tstBook.xls", FileFormat:=xlWorkbookNormal
End Sub
|
Sub 保存1_3()
ActiveWorkbook.SaveAs Filename:="C:\tst\tstBook2.csv", _
FileFormat:=xlCSV, CreateBackup:=False
End Sub
|
Sub 保存2_1() |
Sub 保存2_2()
If ActiveWorkbook.Saved = False Then
ActiveWorkbook.Save
End If
ActiveWorkbook.Close
End Sub
---------------------------------------------------------
Sub 保存2_2a()
ActiveWorkbook.Close SaveChanges:=True
End Sub
|
Sub 保存2_3()
ActiveWorkbook.Saved = True
ActiveWorkbook.Close
End Sub
---------------------------------------------------------
Sub 保存2_3a()
ActiveWorkbook.Close SaveChanges:=False
End Sub
|
Sub 保存2_4()
ThisWorkbook.Close SaveChanges:=False
End Sub
|
Sub 小文字1()
Dim fal As String, fff As String, fname As String
Dim kname As String, pth As String, moz As String
Dim su As Integer
fal = "すべてのファイル(*.*),*.*"
fff = Application.GetOpenFilename(fal, , Title:="ファイル指定") 'ファイル指定
If fff = "False" Then
MsgBox "ファイルを指定して下さい"
Exit Sub
End If
fname = Dir(fff)
kname = Mid(fname, InStrRev(fname, "."))
pth = Replace(fff, fname, "")
moz = Dir(pth & "*" & kname)
Name pth & moz As pth & StrConv(moz, 2)
Do
moz = Dir()
If moz = "" Then Exit Do
Name pth & moz As pth & StrConv(moz, 2)
su = su + 1
Loop Until moz = ""
MsgBox su + 1 & "個の" & kname & " ファイルを小文字に変換しました"
End Sub
|



Dim pth1 As String, su As Integer
Sub 小文字2()
Dim myobj As Object, moz As String
su = 0: pth1 = ""
Columns("B:B").Clear
Set myobj = CreateObject("Shell.Application") _
.BrowseForFolder(0, "フォルダを選択してください", &H1)
If myobj Is Nothing Then
Exit Sub
End If
pth1 = myobj.Self.path
Set myobj = Nothing
Call 小文字2a
MsgBox su & "個のファイルを小文字に変換しました。"
End Sub
--------------------------------------------------------
Sub 小文字2a()
Dim pth As String, moz As String, myobj As Object, folder As Object
pth = pth1 & "\"
moz = Dir(pth & "*" & "*")
Name pth & moz As pth & LCase(moz)
su = su + 1
Worksheets("sheet1").Cells(su + 10, 2).Value = pth & moz
Do Until moz = ""
moz = Dir()
If moz = "" Then Exit Do
Name pth & moz As pth & LCase(moz)
su = su + 1
Worksheets("sheet1").Cells(su + 10, 2).Value = pth & moz
Loop
サブフォルダ
Set myobj = CreateObject("Scripting.FileSystemObject")
For Each folder In myobj.GetFolder(pth1).SubFolders
pth1 = folder
Call 小文字2a
Next folder
End Sub
|
'サブフォルダ
With CreateObject("Scripting.FileSystemObject")
For Each folder In .GetFolder(pth1).SubFolders
pth1 = folder
Call 小文字2b
Next folder
End With
|
Dim ffg As New Scripting.FileSystemObject
Dim fol As Scripting.folder
サブフォルダ
Set fol = ffg.GetFolder(pth1)
For Each folder In fol.SubFolders
pth1 = folder
Call 小文字3a
Next folder
|
Name pth & moz As pth & StrConv(moz, 2)
この行を以下に変更
If Left(moz, 1) = "図" Then
moz1 = "画面" & Mid(moz, 2)
Name pth & moz As pth & moz1
su = su + 1
End If
|
