Excelのマクロ

2010/09/29未分類import
マクロの例.ある書式のテキストファイルを,「外部データの取り込み」と同じような感じで設定を省いて取り込めるマクロ.
これに限らず,マクロを実行するにはExcel上でデジタル署名をする必要があるので,適宜すること.
Sub MPMS_data()
'
' MPMS_data Macro
' マクロ記録日 : 2010/9/28  ユーザー名 : Hirayama Hirosugu

'
Dim fName As Variant
fName = Application.GetOpenFilename(FileFilter:="datfile,*.dat", Title:="データ選択")

    With ActiveSheet.QueryTables.Add(Connection:="TEXT;" & fName, _
         Destination:=ActiveCell)
        .Name = fName
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 932
        .TextFileStartRow = 31
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = True
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, _
        1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
End Sub

デジタル署名をするためのツールと,場所.

最初にMicrosoft Officeのツールのデジタル署名をするものを使って署名を作る.自分の名前とかにしておく.
WS000044.jpg


次にExcelのデジタル署名を行う.
上で作成したものを選択する.
WS000042.jpg
WS000043.jpg


VBAの署名
上で作成したものを選択する.
WS000041.jpg

robocopyでファイルサーバにバックアップ

2010/09/22未分類import
robocopyはWindows Vista以降に標準で含まれているツールで,ファイルのコピーコマンド.
このコマンドを利用して,ワンクリックで指定のフォルダをバックアップすることをやってみよう.
robocopy "C:\Users\Hirayama Hirosugu\Documents\Local-Files" "\\192.168.○.△\share\Members' Files\H2\BackUpFiles" /MIR /LOG:backuplog.txt /TEE /TS /FP /FFT
オプションについて
/MIR:ミラーリング.更新した部位だけ,ファイルをコピー,あるいは削除する.
/LOG:ログをbackuplog.txtとして保存.
/TEE:ログを標準出力にも表示.
/TS:タイムスタンプを出力(効いていないかも)
/FP:フルパス出力
/FFT:FATファイルシステムと見なし,タイムスタンプの精度を2秒にする.
こうしないとNASにコピーする際にスタンプの精度の関係から正常にコピー先を更新できない場合がある.必要に応じて追加すべき.

これをテキストファイルに貼り付け,拡張子をbatにすれば,ワンクリックでバックアップ作業が行える.
さらに,タスクスケジューラ(スタートメニュー→アクセサリ→システムツール以下にあるはず.)を使えば定期実行できるし,
スタートアップに登録すれば,起動時に必ず実行してくれる.

インストールの仕方

XPでは標準で含まれていないが,Windows Server 2003 Resource Kit ToolsからXP対応版を無償でダウンロードできる.
ウィザードでインストールできるので特に難しくない.ただし英語である.