2017年6月12日

【Excel】カレントディレクトリを取得するマクロ


カレントディレクトリを取得するマクロです。

カレントディレクトリは、ファイルを開くダイアログボックスなどでフォルダを開くと、そのフォルダがカレントディレクトリとして設定されます。

例

Sub GetCurrentDirectory()

    MsgBox "カレントディレクトリ:" & CurDir
    
End Sub

実行結果





2017年6月11日

【Windows10】仮想デスクトップを移動するショートカット



Windows10から追加になった機能として「仮想デスクトップ」というものがあります。

これまでのOSですとデスクトップは1個でしたが、「仮想デスクトップ」により複数のデスクトップを作成することが出来るようになり、用途に合わせて使い分けるといったことが出来るようになります。



通常、仮想デスクトップを選択するには、タスクバーにある「タスクビュー」からできるのですが、もっと簡単にショートカットキーにより表示することも出来ます。


仮想デスクトップの移動

[Windows]キー + [Ctrl] + [→] または [←]


タスクビューの表示

[Windows]キー + [Tab]


新しいデスクトップの作成

[Windows]キー + [Ctrl] + [D]



<関連記事>
【Windows10】ストアから購入したテーマの壁紙はどこに保存されるの?
【Windows10】コントロールパネルを表示する方法。
Windows10で付箋を表示させる方法
【Windows10】起動時にWindows Time サービスを起動させる
Windows10の時刻自動設定がおかしい
【Windows】Windows10バージョン1809の新元号対応パッチも公開されたらしい

2017年6月10日

【Excel】フォルダを削除するマクロ


フォルダを削除するマクロは、RmDir関数を使った方法とFileSystemObjectを使った方法があります。

RmDir関数

RmDir関数で指定したフォルダが削除されます。
Sub DeleteFolder1()

    Dim folderPath As String
    
    folderPath = "C:\work\tmp"
    
    If Dir(folderPath, vbDirectory) <> "" Then
        'フォルダが存在する場合は削除
        RmDir folderPath
    Else
        MsgBox folderPath & vbCrLf & vbCrLf & "このフォルダはありません。", vbExclamation, "注意"
    End If

End Sub
この例では、Dir関数でフォルダの存在を確認し、存在する場合だけ削除を行っています。


FileSystemObject

FileSystemObjectのDeleteFolderメソッドでファイルの削除が出来ます。

※このFileSystemObjectを使うには、あらかじめ参照設定で、「Microsoft Scripting Runtime」にチェックを入れておく必要がありますので注意してください。


Sub DeleteFolder2()

    Dim fso As New FileSystemObject
    Dim folderPath As String
    
    folderPath = "C:\work\tmp"
    
    If fso.FolderExists(folderPath) Then
        'フォルダが存在する場合は削除
        fso.DeleteFolder (folderPath)
    Else
        MsgBox folderPath & vbCrLf & vbCrLf & "このフォルダはありません。", vbExclamation, "注意"
    End If

End Sub
この例では、FolderExistsメソッドでフォルダの存在を確認し、存在する場合だけ削除を行っています。




2017年6月9日

【Excel】ファイルを削除するマクロ


ファイルを削除するマクロは、Kill関数を使った方法とFileSystemObjectを使った方法があります。

Kill関数

Kill関数で指定したファイルが削除されます。
Sub DeleteFile1()

    Dim filePath As String
    
    filePath = "C:\work\image1\aaaa.jpg"
    
    If Dir(filePath) <> "" Then
        'ファイルが存在する場合は削除
        Kill filePath
    Else
        MsgBox filePath & vbCrLf & vbCrLf & "このファイルはありません。", vbExclamation, "注意"
    End If

End Sub
この例では、Dir関数でファイルの存在を確認し、存在する場合だけ削除を行っています。


FileSystemObject

FileSystemObjectのDeleteFileメソッドでファイルの削除が出来ます。

※このFileSystemObjectを使うには、あらかじめ参照設定で、「Microsoft Scripting Runtime」にチェックを入れておく必要がありますので注意してください。


Sub DeleteFile2()

    Dim fso As New FileSystemObject
    Dim filePath As String
    
    filePath = "C:\work\image1\aaaa.jpg"
    
    If fso.FileExists(filePath) Then
        'ファイルが存在する場合は削除
        fso.DeleteFile (filePath)
    Else
        MsgBox filePath & vbCrLf & vbCrLf & "このファイルはありません。", vbExclamation, "注意"
    End If

End Sub
この例では、FileExistsメソッドでファイルの存在を確認し、存在する場合だけ削除を行っています。



2017年6月8日

【Excel】フォルダを作成するマクロ


フォルダを作成するマクロは、MkDir関数を使った方法とFileSystemObjectを使った方法があります。

MkDir関数

MkDir関数で指定したフォルダを作成します。
Sub MakeFolder1()

    Dim folderPath As String
    
    folderPath = "C:\work\Excel\tmp"
    
    If Dir(folderPath, vbDirectory) = "" Then
        '存在しなければフォルダを作成
        MkDir folderPath
    Else
        MsgBox folderPath & vbCrLf & vbCrLf & "このフォルダはすでにあります。", vbExclamation, "注意"
    End If

End Sub
この例では、Dir関数でフォルダの存在を確認し、存在しない場合だけ作成を行っています。
※Dir関数は、第2引数にvbDirectoryと指定することでフォルダの存在確認が出来ます。


FileSystemObject

FileSystemObjectのCreateFolderメソッドでフォルダの作成が出来ます。

※このFileSystemObjectを使うには、あらかじめ参照設定で、「Microsoft Scripting Runtime」にチェックを入れておく必要がありますので注意してください。


Sub MakeFolder2()

    Dim fso As New FileSystemObject
    Dim folderPath As String
    
    folderPath = "C:\work\Excel\tmp"
    
    If fso.FolderExists(folderPath) = False Then
        '存在しなければフォルダを作成
        fso.CreateFolder (folderPath)
    Else
        MsgBox folderPath & vbCrLf & vbCrLf & "このフォルダはすでにあります。", vbExclamation, "注意"
    End If

End Sub
この例では、FolderExistsメソッドでフォルダの存在を確認し、存在しない場合だけ作成を行っています。




2017年6月7日

【Excel】ファイルの作成日時などを取得するマクロ


ファイルの作成日時などを取得するマクロです。

例

ファイルの種類を取得するには、FileSystemObjectのGetFileでファイルオブジェクトを取得し、そのTypeプロパティからファイルの種類を取得します。

※このFileSystemObjectを使うには、あらかじめ参照設定で「Microsoft Scripting Runtime」にチェックを入れておく必要があります。


Sub GetFileCreatedDate()

    Dim fso As New FileSystemObject
    Dim filePath As String
    Dim message As String

    filePath = "C:\work\image1\cccc.jpg"
    
    message = filePath & vbCrLf & vbCrLf & _
              "作成日時:" & fso.GetFile(filePath).DateCreated & vbCrLf & _
              "最終アクセス日時:" & fso.GetFile(filePath).DateLastAccessed & vbCrLf & _
              "最終更新日時:" & fso.GetFile(filePath).DateLastModified & vbCrLf

    MsgBox message, vbInformation, "FileSystemObject"
    
End Sub

実行結果




2017年6月6日

【Excel】ファイルの種類を取得するマクロ


ファイルの種類を取得するマクロです。

例

ファイルの種類を取得するには、FileSystemObjectのGetFileでファイルオブジェクトを取得し、そのTypeプロパティからファイルの種類を取得します。

※このFileSystemObjectを使うには、あらかじめ参照設定で「Microsoft Scripting Runtime」にチェックを入れておく必要があります。


Sub GetFileType()

    Dim fso As New FileSystemObject
    Dim filePath As String

    filePath = "C:\work\image1\cccc.jpg"

    MsgBox filePath & vbCrLf & vbCrLf & "ファイルタイプは、『 " & fso.GetFile(filePath).Type & " 』です。", vbInformation, "FileSystemObject"
    
End Sub

実行結果