VBA
バッチのまとめTOPへ 単一のExcelブック内に,大量のワークシートが存在するとする。 シートがあまりにも多すぎて,ブックのサイズが何メガにも膨れ上がる。そして,「もはや1ファイルで管理しきれない。シートごとに別ファイルに分けよう」となる。 そうい…
バッチのまとめTOPへ WSH/JScriptのバッチで,Excelファイルを読み書きする場合,下記のようなコードを毎回,毎回コーディングする。 このパターンは頻繁に使うため,テンプレート(スニペット)として掲載。 コードの雛形 excel読み書き.bat @if(0)==(0) EC…
バッチのまとめTOPへ WSH/JScriptを使って,エクセルのデータをグラフ化しよう。表計算データから,バッチで自動的にグラフを描画できる。 題材として,上記のような「ブログのアクセス数の推移」を折れ線グラフにしてみる。 ここで掲載するバッチの処理は …
バッチ・マクロのTOPへ Excel VBAで,InternetExplorer.Applicationなどの「COMオブジェクト」のイベントを利用する方法。 下記のエントリでは,WSH(JScript/VBScript)からIEを自動操作する際,「COMアプリケーションイベント」を利用する方法を紹介した。…
バッチ・マクロのTOPへ Excelブック内に,画像の「サムネイル集」を作りたいとしよう。 親フォルダの中に,サブフォルダがたくさんあり,サブディレクトリの中には画像がたくさんある。 それらの画像のサムネイルを,サブフォルダの名前と共に並べて列挙した…
バッチのまとめTOPへ 「Excelの表データを読み取って,DBへのデータ投入SQLを生成するマクロ」 は,あちこちにある。 ExcelからSQLのINSERT文を作成するマクロ http://d.hatena.ne.jp/grachro/2011061... エクセルで作成したデータからinsertSQLを作成するマ…
ダミーの人名を大量に欲しい。という場合がある。内容は適当でよいが,見栄えのテストとか,容量見積もりの面では実用的な物を。 プログラムのちょっとした動作確認のために使いたいのだ。特に,日本語のひらがなのソートに関連したロジックの動作検証なんか…
バッチのまとめTOPへ Excelブックの目次を,自動生成するバッチ。 目次の作り方としては,下記のバッチに対してExcelブックのファイル名を渡すだけ。ワンクリックで,1枚目のシートに目次情報が書き込まれる。 書きこまれる目次情報は,全シートの… シート…
バッチのまとめTOPへ Windowsのコマンドプロンプト上で,Win32 APIなどのDLLを呼び出して実行する。例えば,コマンドプロンプトだけで,任意のキー操作イベントをエミュレートできる。 サンプルコマンド:コマンドプロンプトから,画面をキャプチャする。(P…
バッチ・マクロのTOPへ Excel VBAは,パスワードで閲覧制限をかけることができる。 ※その方法: Excelブック内のマクロをパスワードで保護する方法 http://www.happy2-island.com/excelsmi... VBE上で,ツール>VBAプロジェクトのプロパティ>保護 を開く。 …
バッチ・マクロのTOPへ Excelから,VBAのコードを吸い出すバッチ。 モジュールごとに,(モジュール名).bas の名前で保存される。
バッチ・マクロのTOPへ 画面のスクリーンショット(キャプチャ)を,バッチで自動的に取得しよう。そしてExcelブック内に,自動的に保存する。 開発プロジェクトで,画面定義書などのドキュメントを効率的に作成するために利用可能。 使う技術は Excel VBA W…
バッチ・マクロのTOPへ Webアプリ(Ruby on Rails)とデスクトップ(Excel VBA)の間で,XMLをやり取りするサンプルコード。 VBAでXMLを読み込み(そしてシート上に表示する), VBAでXMLを書き出し(シート上の情報をもとにファイルを吐きだす), Ruby on …
バッチ・マクロのTOPへ Microsoft Office Word の作業を,VBAマクロで効率化・自動化する。 Excelは便利だが,文書やドキュメントは,やはりWordで作成されるのが一般的。自分はWordを使わないけども,他人が作った大量のWordファイルを効率的に処理したい,…
〜書き途中〜 Ruby on Railsのテストの書き方 (モデルの単体テストと,コントローラの機能テスト) http://language-and-engineering.hatenablog.jp/entry/20091023/p1 テストデータやテストケースを作る際,下記のような要望が生じる。 yaml形式のfixtures…
バッチ・マクロのTOPへ 通常,Excel VBAのコードは, .xls ファイル(=ブック)の内部に 保存されてしまう。これだと 複数のブックで共通のコードを利用できないし, マクロの修正があると,全ブックを修正しなければならないし, ソースコードをテキスト形…
バッチのまとめTOPへ JScriptからExcelを操作するコード。 新規Excelファイルの自動生成 既存のブックの読み書き などできて便利。
バッチ・マクロのTOPへ JavaScriptと同じように,VBAでもDOM操作が可能。 下記のようなマクロで,IEを操作できる。 Sub Googleで検索() ' IEを立ち上げて Google を開く Dim ie As Object Set ie = new_ie("http://www.google.co.jp") ' 検索キーワードを入…
アプリケーション開発で,表示文言やエラーメッセージを一元管理したい場合,GetTextを使うのがスタンダードだ。 Ruby on RailsでRuby-GetText-Packageを使う (Rails-2.1.x以前) http://www.yotabanana.com/hiki/ja/rub... しかしこの方法は汎用的である反面…
バッチ・マクロのTOPへ Excel VBAのマクロで,グラフを自動的に描画する方法。 手動でグラフを描こうとすると,データ範囲の設定などがいちいち面倒くさい。それをマクロで自動化しよう。 リアルタイムで状況が変化してゆく中で,現状を反映した「最新データ…
バッチ・マクロのTOPへ 以前,下記のエントリーで,Excel VBAマクロのよく使うコードを列挙した。 ドキュメント作成を楽にするための,Excel VBA 頻出8パターン http://language-and-engineering.hatenablog.jp/entry/20090401/p1 その中には, シート内の…
バッチ・マクロのTOPへ ドキュメント内で面倒な整形 / 抽出 / 変換作業をマクロにやらせたい場合,たいてい下記の8パターンが軸になる。これだけでVBAの入門として十分だろう。 シート内の処理 (1)全シートのスキャン (2)シート内全行のスキャン (3…
バッチ・マクロのTOPへ Excelワークシート上のデータを,そのまま直接DBに登録する。VBAだけで済ませる。(Excel以外のツールやAPIが不要) たとえばアプリケーションのテスト仕様書がExcelで,テスト項目の中に「特定のデータをインポート」というのがある…
開発チーム内で,用語を共有するためのxlsシート。作っておけば,説明や引き継ぎがとても楽。 機能: 検索ボックス(検索キーを含むセルの内容がリストアップされる。検索キーは斜体で表示される。) シート一覧表示 ダウンロード http://www.name-of-this-s…
あるプロジェクトのDB構造を知りたい場合, テーブル定義書を見る。 ER図を見る。 これらはごく一般的なことだ。 だが,膨大なテーブル群の中で業務上重要なカラムは少ないかもしれない。また,「ビューにするほどではないけど取っておきたいSQL」が生じてく…
ExcelのDBテーブル定義書(.xlsファイル)を読み込んで, Javaのエンティティクラスのソースコードを出力するマクロ。 モデル層で,永続化クラスを手でコーディングしなくて済む。 ダウンロードできます 簡単なサンプルを下記からダウンロードできる。 http:…
バッチ・マクロのTOPへ 「山」と入力したとき,「山」で始まる入力候補だけをドロップダウンで表示させたい 「入力規則」の使いづらさ マクロで作ってみる (1)辞書となるシートを用意 (2)入力規則を動的に切り替えるコード (3)シートを開いた時に処…
バッチのまとめTOPへ PCの画面のスクリーンショット作成のために,通常は PrtScrキーを押して 画像編集ソフトを起動し ペーストして 画像をファイルに保存し 画像編集ソフトを閉じる といった手順を踏む。 この面倒な作業は,WSHのスクリプトで自動実行でき…
バッチ・マクロのTOPへ Excel VBAで,指定された領域をオートフィルするためのマクロ。用途は前記事を参照。 サンプルコード Sub FillRecord() ' 前提: ' 3行1列目から横方向へカラム名が並んでいる ' 1行5列目に,作成したいデータ数が並んでいる ' 4〜5行…