ms officeドキュメントの自動処理のための簡単なスクリプト作成のための小さなベビーベッドトピック。 また、空白シート症候群を克服するのに役立ちます。
最近の
トピックで正しく指摘されているように、スクリプト自体は高速ではないかもしれませんが、結果自体はより重要であり、ボリュームは常にそれほど大きくありません。 ただし、オートメーションを使用すると、ほぼすべての言語でスクリプトを作成できます。 ここではJavaScriptとIronPythonに空白を付けますが、他の言語(PowerShellなど)のコメントに場所があることを願っています。
少し歌詞
自動化を実行するには、次のものが必要です。
- MS Office(ドキュメントがあれば、どうやらインストールされます/インストールされます)
- 選択した言語の通訳(JS、VBS、およびPowerShellの場合、この項目は関係ありません)
- VBAでのコード生成を(記録可能なマクロで)覗くためのMS Office
もう一度繰り返します。 目標は、複雑な要件(パフォーマンス、埋め込み、ms officeなしでの作業など)なしでスクリプトをすばやく作成することです。
実際には、コード
私見、最も合理的なオプションはJScriptまたはVBScript(より正確には、
Windowsスクリプトホスト )です。 インタプリタにはすでにオペレーティングシステムが付属しているため、追加のアクションを実行せずにスクリプトを友人/同僚に配布できます。xls(x)ファイルをエクスプローラのスクリプトにドラッグすると、ジョブが実行されます。
var excel = WScript.CreateObject("Excel.Application"); var fileName = WScript.Arguments.Item(0); try { main(); } catch(e) {
主な欠点は、デバッグするのが難しいことです(forループで30分だけキルしました-0からの番号付けは、セミコロンの欠落に関するエラーを与えました)。
しかし、目標が迅速に書くことであり、JS / VBSがネイティブで使い慣れたpythonよりもはるかに悪いことがわかっている場合、(IronPython):
いくつかの有用な事実
最も重要なヒントは、Excelのマクロエディターです。 実行したいアクションを書き留め(
「表示」->「マクロ」->「マクロを記録... 」、名前は関係ありません)、そのコードを開き(
「表示」->「マクロ」->「マクロを表示...」 )、画像や肖像画で実行します。 マクロの記録自体は、自動化するアクションのセットにすぎません。 たとえば、値の挿入または変更、色/フォントの変更など。 マクロの記録は、回避するために別のドキュメントで行うのが最適です。
オブジェクトの
世界の方向性を高めるために、Excel
のオブジェクトの世界は
クラスシステムです (同じことですが、
Office 2010の場合 )。
小さなボーナス:
カラーインデックスの定数 。
PSどこかでC ++からオートメーションを操作するためのコードがありましたが、それは別の話です:)