スポンサーリンク

プログラミング

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

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

ブラウザのビジー状態を判定するための,より良い方法 (WSHでIEを自動操作する際,COMのアプリケーションイベントを利用する)

バッチのまとめTOPへ ActiveX経由でCreateObject("InternetExplorer.Application") などして,IEを自動操作する際,「ブラウザのビジー状態の解除の判定」は,正確にやろうとすると結構難しい。よくあるのは, (DOM操作)ブラウザ上で,submitボタンクリッ…

ブラウザの自動操作の最大の問題,「タイムアウト」を克服するには

ブラウザの自動化を妨害する最後の壁,それはタイムアウト。Webページのロード時に,ブラウザのビジー状態が解除されず,いつまでも次のステップに進めなくなってしまう現象のこと。 どんなツールを使っても,タイムアウトは必ず発生する。自動化ツールをた…

プロジェクト専用のDSLで,効率的にIEを自動操作する(WSH/JScript)

バッチのまとめTOPへ 以下のエントリでは,JScriptでブラウザのオートメーションを行なうための基礎を述べた。 JScript / VBScript (WSH)で,IEを自動操作しよう http://d.hatena.ne.jp/language_and_engineering/20090713/p1 その続編として,プロジェクト…

SQLで,テーブルに存在しない複数行のデータを取得する方法 (PostgreSQLの generate_series関数をマスターしよう)

PostgreSQLで,テーブルを使わずに,複数行のデータを取得する方法。 SQLの中で,大量の定数データを使う必要がある。(例えば,1ヶ月間の日付全部とか,1000までの素数全部とか) だが,それらのデータを,前もってどこかのテーブルに格納しておくことはで…

サクラエディタのマクロで,CSSを自動整形しよう

バッチのまとめTOPへ サクラエディタ上で,CSSを自動整形したい。 例えば,エディタ上に div.hatena-asin-recommend { margin:4px 10px; padding:5px 4px; text-align:left; width:96%; } div.hatena-asin-recommend a { border:medium none; text-decoratio…

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

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

JavaScriptで,グローバル変数の存在判定をする3つの方法 ("window"の定義状況を確認したい)

JavaScriptプログラミングのTOPへ JavaScriptで,グローバル変数が存在するかどうか判定するための3つの方法。 3つのうち1つはよく使う。残りの2つは,特殊な状況(WSHとの使い分けなど)で役立つ。

プログラミング言語「APL」の入門 (Windowsでのフリー実行環境つき)

APL(A Programming Language)は,配列処理・ベクトル演算に秀でたプログラム言語。とてもふしぎな記号(Unicode)でコーディングする。 ↑APLでのライフゲームのソースコード*1 発端はこれ: 未来の言語は「APL」? Rubyのまつもと氏が講演 http://www.atma…

CGIが動くWebサーバを,3分で自作しよう (ブラウザからのHTTPリクエストを処理する,簡易ソケットプログラム)

Webサーバを3分で自作する。 ローカルPC内の HTMLなどの固定ファイル PHP, Rubyなど動的ページ を,どちらもブラウザ越しでアクセスできるよう,インターネットに公開する。

テキストボックス内のカーソル(キャレット)位置や選択範囲を,JavaScriptで取得・設定する方法

JavaScriptプログラミングのTOPへ input や textarea などのテキストボックスをフォーカスした際に表示される,「|」の形をしたカーソルの事をキャレットという。また,Shiftキーを押しながらキャレットを移動させると,文字列が選択状態になる。 キャレッ…

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

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

ウィンドウをきっかけに Windows の内部の仕組みを探る (前半の補足)アセンブラでウィンドウを生成する方法

前回の記事では以下の事を学んだ。 Windowsにおいてウィンドウを表示する機能は,Windows API という API によって提供されている。 Windows API の中で,特に user32.dll というファイルがウィンドウ処理を担当している。 (そして user32.dll の中味を逆ア…

JavaScriptで,動的に追加されたイベントリスナの実行順序を保証する方法

JavaScriptプログラミングのTOPへ 前記事では下記のような事を述べた。 Firefoxのイベントリスナーが複数ある場合,追加された順に実行される。 IEのイベントリスナーが複数ある場合,追加順には実行されないし,追加順の逆順でもない。実行順序を予測する事…

JavaScriptで,文字列を反復する / 逆順に並び替える方法

JavaScriptプログラミングのTOPへ クイズ:JavaScriptで, "文字列".func() のような(メソッドチェーンができるような)形式で, 1. 文字列を逆順に並び変える方法は? ( PHPで言うと str_rev() 関数 ) 2. 文字列を n 回反復する方法は? ( PHPで言うと …

JavaScriptの動かないコード (中級編) かけ算を間違える

連載目次へ 以下のJavaScriptコードが意図した動作をしないのは,なぜですか。(制限時間1分) やりたい事:買い物の合計金額の計算 合計額=(商品単価+手数料単価)×商品個数 商品単価や手数料単価は0.1などの値も入る。 支払い金額は,端数切り捨てとす…