スポンサーリンク

VBA

Excelブック内の全シートを,1ファイルずつに分けて一括保存するバッチ (シート単位で自動ファイル分割し,1シートごとに一斉ファイル出力)

バッチのまとめTOPへ 単一のExcelブック内に,大量のワークシートが存在するとする。 シートがあまりにも多すぎて,ブックのサイズが何メガにも膨れ上がる。そして,「もはや1ファイルで管理しきれない。シートごとに別ファイルに分けよう」となる。 そうい…

WSH/JScriptで,Excelファイルを読み書きする際のテンプレート (シート上の全行を読み書きするコードのひな型)

バッチのまとめTOPへ WSH/JScriptのバッチで,Excelファイルを読み書きする場合,下記のようなコードを毎回,毎回コーディングする。 このパターンは頻繁に使うため,テンプレート(スニペット)として掲載。 コードの雛形 excel読み書き.bat @if(0)==(0) EC…

WSH/JScriptで,Excelのデータを自動でグラフ描画 (題材:はてなカウンターのアクセス数を週ごとにグラフ化)

バッチのまとめTOPへ WSH/JScriptを使って,エクセルのデータをグラフ化しよう。表計算データから,バッチで自動的にグラフを描画できる。 題材として,上記のような「ブログのアクセス数の推移」を折れ線グラフにしてみる。 ここで掲載するバッチの処理は …

Excel VBAでIEを自動操作する際,COMイベントを利用する方法 (WithEventsでブラウザの挙動を細かく把握する)

バッチ・マクロのTOPへ Excel VBAで,InternetExplorer.Applicationなどの「COMオブジェクト」のイベントを利用する方法。 下記のエントリでは,WSH(JScript/VBScript)からIEを自動操作する際,「COMアプリケーションイベント」を利用する方法を紹介した。…

Excel VBAで,フォルダ内の画像ファイルを一括でシートに取り込み,サムネイルのアルバムを自動生成

バッチ・マクロのTOPへ Excelブック内に,画像の「サムネイル集」を作りたいとしよう。 親フォルダの中に,サブフォルダがたくさんあり,サブディレクトリの中には画像がたくさんある。 それらの画像のサムネイルを,サブフォルダの名前と共に並べて列挙した…

Excelシートを読み取って,INSERT文SQLを生成するバッチ (Kingsoft SpreadsheetをWSH/JScriptで自動操作)

バッチのまとめTOPへ 「Excelの表データを読み取って,DBへのデータ投入SQLを生成するマクロ」 は,あちこちにある。 ExcelからSQLのINSERT文を作成するマクロ http://d.hatena.ne.jp/grachro/2011061... エクセルで作成したデータからinsertSQLを作成するマ…

日本人の氏名のテストデータを,Excel VBAでランダムに生成しよう (ひらがなを使った大量のダミーデータ)

ダミーの人名を大量に欲しい。という場合がある。内容は適当でよいが,見栄えのテストとか,容量見積もりの面では実用的な物を。 プログラムのちょっとした動作確認のために使いたいのだ。特に,日本語のひらがなのソートに関連したロジックの動作検証なんか…

Excelブックの「シート目次」を,自動的に作成するバッチ (WSH/JScriptで,各シートへのリンク付きの目次を自動生成)

バッチのまとめTOPへ Excelブックの目次を,自動生成するバッチ。 目次の作り方としては,下記のバッチに対してExcelブックのファイル名を渡すだけ。ワンクリックで,1枚目のシートに目次情報が書き込まれる。 書きこまれる目次情報は,全シートの… シート…

コマンドプロンプトから,Win32 APIや任意のDLLを呼び出して実行しよう (コマンドプロンプトから画面キャプチャする方法の仕組みを理解)

バッチのまとめTOPへ Windowsのコマンドプロンプト上で,Win32 APIなどのDLLを呼び出して実行する。例えば,コマンドプロンプトだけで,任意のキー操作イベントをエミュレートできる。 サンプルコマンド:コマンドプロンプトから,画面をキャプチャする。(P…

パスワード付きのExcelの保護を,バッチで自動的に解除しよう (VBAマクロが見れないブックに対して,パスワードを自動入力)

バッチ・マクロのTOPへ Excel VBAは,パスワードで閲覧制限をかけることができる。 ※その方法: Excelブック内のマクロをパスワードで保護する方法 http://www.happy2-island.com/excelsmi... VBE上で,ツール>VBAプロジェクトのプロパティ>保護 を開く。 …

Excelのマクロを外部に吸い出して保存するバッチ (WSH/JScriptで,VBAのソースコードだけを抜き取る)

バッチ・マクロのTOPへ Excelから,VBAのコードを吸い出すバッチ。 モジュールごとに,(モジュール名).bas の名前で保存される。

画面のスクリーンショットを,Excelブック内に自動的に保存するバッチ

バッチ・マクロのTOPへ 画面のスクリーンショット(キャプチャ)を,バッチで自動的に取得しよう。そしてExcelブック内に,自動的に保存する。 開発プロジェクトで,画面定義書などのドキュメントを効率的に作成するために利用可能。 使う技術は Excel VBA W…

Rails と Excel VBA で,XMLファイルを読み書きしよう (MSXMLとREXMLの使い方)

バッチ・マクロのTOPへ Webアプリ(Ruby on Rails)とデスクトップ(Excel VBA)の間で,XMLをやり取りするサンプルコード。 VBAでXMLを読み込み(そしてシート上に表示する), VBAでXMLを書き出し(シート上の情報をもとにファイルを吐きだす), Ruby on …

Word VBA の入門用リンク集 (ワードマクロの,サンプルコードやリファレンス)

バッチ・マクロのTOPへ Microsoft Office Word の作業を,VBAマクロで効率化・自動化する。 Excelは便利だが,文書やドキュメントは,やはりWordで作成されるのが一般的。自分はWordを使わないけども,他人が作った大量のWordファイルを効率的に処理したい,…

Ruby on Railsのfixturesを,Excelから生成しよう (テストデータを管理しやすくするためのマクロ)

〜書き途中〜 Ruby on Railsのテストの書き方 (モデルの単体テストと,コントローラの機能テスト) http://language-and-engineering.hatenablog.jp/entry/20091023/p1 テストデータやテストケースを作る際,下記のような要望が生じる。 yaml形式のfixtures…

Excel VBAのマクロを,複数のブックから利用する方法 (標準モジュールをブックの外部で管理して,共通ライブラリとして読み込み)

バッチ・マクロのTOPへ 通常,Excel VBAのコードは, .xls ファイル(=ブック)の内部に 保存されてしまう。これだと 複数のブックで共通のコードを利用できないし, マクロの修正があると,全ブックを修正しなければならないし, ソースコードをテキスト形…

JScript/WSH で,Excelファイルを読み書きしよう

バッチのまとめTOPへ JScriptからExcelを操作するコード。 新規Excelファイルの自動生成 既存のブックの読み書き などできて便利。

Excel VBAのマクロで,IEを自動操作しよう (DOMセレクタ関数をVBAで自作)

バッチ・マクロのTOPへ JavaScriptと同じように,VBAでもDOM操作が可能。 下記のようなマクロで,IEを操作できる。 Sub Googleで検索() ' IEを立ち上げて Google を開く Dim ie As Object Set ie = new_ie("http://www.google.co.jp") ' 検索キーワードを入…

Railsで,簡単にメッセージ管理する方法 (メッセージ定義書からメッセージ処理クラスを自動生成するVBAマクロ)

アプリケーション開発で,表示文言やエラーメッセージを一元管理したい場合,GetTextを使うのがスタンダードだ。 Ruby on RailsでRuby-GetText-Packageを使う (Rails-2.1.x以前) http://www.yotabanana.com/hiki/ja/rub... しかしこの方法は汎用的である反面…

Excel VBAで,グラフを自動で描画しよう(データ範囲を動的に変える) + ソフトウェアの品質保証について

バッチ・マクロのTOPへ Excel VBAのマクロで,グラフを自動的に描画する方法。 手動でグラフを描こうとすると,データ範囲の設定などがいちいち面倒くさい。それをマクロで自動化しよう。 リアルタイムで状況が変化してゆく中で,現状を反映した「最新データ…

VBA(2007もOK)で,ファイルの再帰検索をしよう (Application.FileSearchで複数のブックを処理)

バッチ・マクロのTOPへ 以前,下記のエントリーで,Excel VBAマクロのよく使うコードを列挙した。 ドキュメント作成を楽にするための,Excel VBA 頻出8パターン http://language-and-engineering.hatenablog.jp/entry/20090401/p1 その中には, シート内の…

ドキュメント作成を楽にするための,Excel VBA 頻出8パターン

バッチ・マクロのTOPへ ドキュメント内で面倒な整形 / 抽出 / 変換作業をマクロにやらせたい場合,たいてい下記の8パターンが軸になる。これだけでVBAの入門として十分だろう。 シート内の処理 (1)全シートのスキャン (2)シート内全行のスキャン (3…

Excelシート上のデータを DB にインポートするVBAマクロ

バッチ・マクロのTOPへ Excelワークシート上のデータを,そのまま直接DBに登録する。VBAだけで済ませる。(Excel以外のツールやAPIが不要) たとえばアプリケーションのテスト仕様書がExcelで,テスト項目の中に「特定のデータをインポート」というのがある…

プロジェクトの用語集 テンプレート (検索ボックス付き Excel シート)

開発チーム内で,用語を共有するためのxlsシート。作っておけば,説明や引き継ぎがとても楽。 機能: 検索ボックス(検索キーを含むセルの内容がリストアップされる。検索キーは斜体で表示される。) シート一覧表示 ダウンロード http://www.name-of-this-s…

実行環境付きのSQL例文集 (ExcelのドキュメントからDBにアクセス)

あるプロジェクトのDB構造を知りたい場合, テーブル定義書を見る。 ER図を見る。 これらはごく一般的なことだ。 だが,膨大なテーブル群の中で業務上重要なカラムは少ないかもしれない。また,「ビューにするほどではないけど取っておきたいSQL」が生じてく…

テーブル定義書から,Javaのエンティティクラスを自動生成する VBA マクロ

ExcelのDBテーブル定義書(.xlsファイル)を読み込んで, Javaのエンティティクラスのソースコードを出力するマクロ。 モデル層で,永続化クラスを手でコーディングしなくて済む。 ダウンロードできます 簡単なサンプルを下記からダウンロードできる。 http:…

Google 検索の「サジェスト機能」を, Excel のシート上にVBAで作る (セルの内容に応じて入力規則を動的に変える方法)

バッチ・マクロのTOPへ 「山」と入力したとき,「山」で始まる入力候補だけをドロップダウンで表示させたい 「入力規則」の使いづらさ マクロで作ってみる (1)辞書となるシートを用意 (2)入力規則を動的に切り替えるコード (3)シートを開いた時に処…

画面をコマンドラインからキャプチャする方法 (WSHバッチでPrintScreen)

バッチのまとめTOPへ PCの画面のスクリーンショット作成のために,通常は PrtScrキーを押して 画像編集ソフトを起動し ペーストして 画像をファイルに保存し 画像編集ソフトを閉じる といった手順を踏む。 この面倒な作業は,WSHのスクリプトで自動実行でき…

Excelシート上で指定領域をオートフィルするVBAマクロ

バッチ・マクロのTOPへ Excel VBAで,指定された領域をオートフィルするためのマクロ。用途は前記事を参照。 サンプルコード Sub FillRecord() ' 前提: ' 3行1列目から横方向へカラム名が並んでいる ' 1行5列目に,作成したいデータ数が並んでいる ' 4〜5行…