公開中のソフトウェア

DicDB
オリジナル辞書・用語集を作成・閲覧するための
データベースソフトウェアです。

StanStop
指定したアプリケーションが起動している場合のみスタンバイや
スクリーンセーバーを一時的に抑止するソフトウェアです。

2017年12月27日

2017年 Windowsソフト5選

今年もお世話になったWindowsソフトを紹介します。

・Media Player Classic BE
 定番の動画再生ソフトです。
 「サーチプレビュー機能」(Youtubeみたいな、シークバーでシーンの
 プレビューができる機能)がお気に入りです。

・MiGrep2
 テキストファイルの文字列検索(Grep)ソフトです。
 MiGrepが新バージョン MiGrep2としてアップデートされました。
 旧バージョンに比べて検索スピードが向上しているように思いました。

・TablacusExplorer
 タブ型ファイラーソフトです。
 foobar2000のようにアドオンを導入することでカスタマイズが可能です。
 Windows10 RS3でのリストビューでマウスカーソルが吹っ飛ぶバグにも
 アドオンで対策されるなど、コンセプトとして面白いです。
 デザインもCSSを使って変えることもできます。

・BlueScreenView
 ブルースクリーンの原因調査で使用しました。
 このソフトで原因特定ができ、PCが安定しました。

・O&O ShutUp10
 Windows10のテレメトリー対策は「Spybot Anti-Beacon」を
 使ってきましたが、最近バージョンアップがなく、
 新たな対策ソフトとして導入しました。
 海外製ソフトで日本語ファイルはありませんが、
 更新頻度が高く、設定項目も多いです。

2017年窓の杜大賞は「Windows10 設定変更ツール」という
Windows10のカスタマイズソフトが選ばれています。
現状のWindows10を踏まえると
今後もこの手のWindows10の不自由さを改善するような
ソフトがピックアップされるのではないかと思われます。
posted by xorbit at 00:53| Comment(0) | Software | このブログの読者になる | 更新情報をチェックする

2017年12月10日

COMを使ったMicrosoft Wordの文字列置換(HSP)

Microsoft Wordの文字列置換をHSPから試してみました(2パターン)。
既存Wordファイル(DOC/DOCX)内の文字列を置換して別名で保存という例です。

(1) Excel VBAのVBScriptをHSP Script上で実行する
Excel VBAからVBScriptを実行することで、Wordの置換処理が可能です。
そこでVBScriptとしてHSP Script上で実行したのが下記のScriptです。
こちらのページを参考にしました。

onexit *exit

;DOCファイル
doc_path="C:\\HSP\\Sample.doc"
old="テスト" ;検索ワード
new="Test" ;置換ワード

;VBScript
newcom objVBsc, "ScriptControl"
objVBsc("Language")="VBScript"

vbs="Sub vbcmd()\n"
vbs+="Const wdReplaceAll = 2\n"
vbs+="Set objWord = CreateObject(\"Word.Application\")\n"
vbs+="objWord.Visible = True\n"
vbs+="Set objDoc = objWord.Documents.Open(\""
vbs+=doc_path
vbs+="\")\n"
vbs+="Set objSelection = objWord.Selection\n"
vbs+="objSelection.Find.Text = \""
vbs+=old
vbs+="\"\n"
vbs+="objSelection.Find.Forward = TRUE\n"
vbs+="objSelection.Find.MatchWholeWord = TRUE\n"
vbs+="objSelection.Find.Replacement.Text = \""
vbs+=new
vbs+="\"\n"
vbs+="objSelection.Find.Execute ,,,,,,,,,,wdReplaceAll\n"
vbs+="End Sub\n"

mes vbs
objVBsc->"AddCode" vbs
objVBsc->"Run" "vbcmd"
stop

*exit
delcom objVBsc
end


一応実行はできますが、コードがコメント化されるのでわかりにくいのと
置換ワードに改行が入れられないという問題があります。

(2) COMコンポーネントを使ってHSP Script上で実行する
そこで、HSPから扱えるCOMコンポーネントを利用してみます。
下記のScriptでは置換したファイルを別ファイルに保存するようにしています。
Office2003とOffice2010のWordで動作を確認しました。

onexit *exit

;DOCファイル
doc_path="C:\\HSP\\Sample.doc"
save_path="C:\\HSP\\Sample_save.doc"
old="テスト" ;検索ワード
new="Test" ;置換ワード

newcom pWord,"Word.Application"
pWord("Visible")=1
pWord("DisplayAlerts")=0

;Documents.Open
pDocments=pWord("Documents")
pDocments->"Open" doc_path

;Selection.Find
pSelection=pWord("Selection")
pFind=pSelection("Find")
pFind("Text")=old
pFind("Forward")=1
pFind("MatchWholeWord")=1
pRep=pFind("Replacement")
pRep("Text")=new
pFind->"Execute",,,,,,,,,,2

;Documents.Save
pActiveDoc=pDocments("Item",1)
pActiveDoc->"SaveAs" save_path

;Word終了
pWord->"Quit"

*exit
delcom pWord
delcom pDocments
delcom pSelection
delcom pFind
delcom pRep
delcom pActiveDoc
end

posted by xorbit at 17:22| Comment(0) | Programming | このブログの読者になる | 更新情報をチェックする