一眼レフカメラでは2009年5月から撮り始めました。
400万画素のコンデジとは比較にならない楽しさです。
人目に晒すことで、緊張感を持って写真を撮りたいと
思います。
カメラ:CANON EOS 50D
レンズ:CANON EF-S17-85 IS U
Wordマクロで更新履歴、コメント削除、目次更新してみたかった
VBA初心者が、Wordでのリリースドキュメントの最終処理を省力したかったメモ。
動きゃあええねん、の精神で作ったので、テスト少な目。
思ったより直観的な書き方で動いてくれるので、勘所を抑えていないソースになってそう。
もうちょっと勉強しときたいー。
Function accept_revision()
ActiveDocument.AcceptAllRevisions
ActiveDocument.TrackRevisions = False
End Function
Function delete_comment()
Dim myComment As Comment
For Each myComment In ActiveDocument.Comments
myComment.Delete
Next
End Function
Function update_contents()
Dim tc As Word.TableOfContents
For Each tc In ActiveDocument.TablesOfContents
tc.Update
Next
End Function
Function open_doc(myfile)
Documents.Open FileName:=myfile, ReadOnly:=False
open_doc = 0
End Function
Function save_doc()
If ActiveDocument.Saved = False Then ActiveDocument.Save
End Function
Function close_doc()
ActiveDocument.Close
End Function
Function finalize(mypath)
Dim files(100)
'ファイルの取得
files(1) = Dir(mypath & "\*.doc*")
i = 1
Do While files(i) <> ""
i = i + 1
files(i) = Dir()
Loop
i = 1
Do While files(i) <> ""
'docファイルを順に処理
ret = open_doc(mypath & "\" & files(i))
ret = accept_revision()
ret = delete_comment()
ret = update_contents()
ret = save_doc()
ret = close_doc()
i = i + 1
Loop
End Function
Private Sub ButtonBar1_OnClick(ByVal ButtonId As Long)
Dim rc As VbMsgBoxResult
rc = MsgBox("リリース前処理を続行しますか?" & vbCrLf & "「はい」の場合、リリースフォルダを選択してください。(再帰処理なし)", vbYesNo + vbQuestion)
If rc = vbYes Then
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show = True Then
rc = MsgBox("下記フォルダで処理を開始してよいですか?" & vbCrLf & .SelectedItems(1), vbYesNo + vbQuestion)
If rc = vbYes Then
ret = finalize(.SelectedItems(1))
End If
Else
rc = vbNo
End If
End With
End If
If Not rc = vbYes Then
MsgBox "処理を中止します", vbCritical
End If
End Sub
日付置換のワンライナーメモ
> Get-Content .\test_data1.csv | foreach { if ($_ -match "\d{1,2}:\d{1,2}:\d{1,2}")
{echo ($_ -replace $matches[0],((([Datetime]$matches[0]).Addseconds(50)).tostring("HH:mm:ss")))}} >> result.csv
これは一律50秒進める例。カッコ多すぎ?w
arpテーブルからhostname取得メモ
IPアドレス指定ができなさそうだったので、
arpテーブルからhostnameを引っ張ってくるスクリプトメモ。
##################################################
$ip_array = @()
$ip_hash = @{}
arp -a | foreach-object {
if ($_ -like "*動的*") {
$ip_array+= $_.split(" ")
}
}
foreach ($i in $ip_array) {
if ($i -like "*.*.*.*" ) {
nbtstat -A $i | foreach-object {
if ($_ -like "*<00>*一意*") {
$tmp = -Split $_
$ip_hash[$i] = $tmp[0]
}
}
}
}
"ip_addr,hostname" >> C:\result_20140322.txt
foreach ($key in $ip_hash.Keys) {
[String]($key + "," + $ip_hash[$key]) >> C:\result_20140322.txt
}
