カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

FileSystemObjectを利用してファイルをコピー

Scripting.FileSystemObjectを利用してファイルをコピーする方法

Dim fso As Object

Set fso = CreateObject("Scripting.FileSystemObject")

'ファイルをコピー
fso.CopyFile [コピー元ファイル], _
    [コピー先ファイル], _
    [上書きフラグ(Trueで上書き:省略可)]

'フォルダーをコピー
fso.CopyFolder [コピー元フォルダー], _
    [コピー先フォルダー], _
    [上書きフラグ(Trueで上書き:省略可)]

Set fso = Nothing
3,491 views

正規表現の最短一致

正規表現の文字列検索にて、最短一致を検索します。
デフォルトは最長一致ですが、量指定子("*"、"+"、"{}"等)の後に"?"を付けることで最短一致に変更できます。

Visual Basic

Dim regEx As Object
Dim Matches As Variant

'正規表現オブジェクト
Set regEx = CreateObject("VBScript.RegExp")

続きを読む…»

17,035 views

Shell起動したアプリケーションの終了を待つ

Dim oShell As Object, oExec As Object

'オブジェクト変数に参照をセットします
Set oShell = CreateObject("WScript.Shell")
Set oExec = oShell.Exec("C:\example.exe")

'処理完了を待機
Do Until oExec.Status: DoEvents: Loop

'戻り値をセット
If Not oExec.StdErr.AtEndOfStream Then
	ExecCommand = True
	sResult = oExec.StdErr.ReadAll
ElseIf Not oExec.StdOut.AtEndOfStream Then
	sResult = oExec.StdOut.ReadAll
End If

'オブジェクト変数の参照を解放
Set oExec = Nothing: Set oShell = Nothing

'結果を表示
MsgBox sResult
7,450 views

レコードの検索【FindRecord】

DoCmd.FindRecord [FindWhat], [Match]

例1)

DoCmd.GoToControl "[検索するフィールドのコントロール]"
DoCmd.FindRecord "[検索する文字列]", [検索タイプ]

例2)

[検索するフィールドのコントロール].SetFocus
DoCmd.FindRecord "[検索する文字列]", [検索タイプ]

[検索タイプ]
acEntire=完全一致
acAnywhere=部分一致
acStart=検索文字列で始まる

5,691 views

VBA ディレクトリ内の全ファイルを読み込む

Visual BasicでFileSystemObjectを使用し、
指定したディレクトリ内の全ファイル(サブディレクトリを含む)を読み込む。
全階層を再帰的に検索することができます。

■コマンドボタンに以下のようにコードを記述

Private Sub ファイル検索_Click()

    Dim strPath As String
    Dim fsObj As Object

    If Not IsNull("検索文字列") Then

        Set fsObj = CreateObject("Scripting.FileSystemObject")

        strPath = "調べたいディレクトリまでのフルパス"
        strKey = "検索文字列"

        'ディレクトリ読み込み関数を呼び出し
        Call SearchSubDirectory(fsObj.GetFolder(strPath), strKey)

        'オブジェクトを破棄
        Set fsObj = Nothing

    End If

End Sub

続きを読む…»

13,375 views