ようこそゲストさん

Wiki 小さなそして広がっていく世界

メッセージ欄

2010年9月の日記

一覧で表示する

Excelのマクロ

未分類
マクロの例.ある書式のテキストファイルを,「外部データの取り込み」と同じような感じで設定を省いて取り込めるマクロ.
これに限らず,マクロを実行するには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.jpgWS000043.jpg

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

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

未分類
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対応版を無償でダウンロードできる.
ウィザードでインストールできるので特に難しくない.ただし英語である.

vimのキーボードマクロ

未分類

記録開始はコマンドモードでqa

qが記録開始のコマンドでaが保存先

普通の操作(置換など)を繰り返したい部分を操作

記録終了はq

実行は@a