2018-12-01から1ヶ月間の記事一覧

Document.ShapeオブジェクトのNameプロパティとは何なのか(Word)

Document.ShapeオブジェクトのNameプロパティとは何なのか ちょっと意味がわからない現象に気づいたので、記しておく。 二つのテキストボックス WordのDocumentに二つテキストボックスを設置してみる。 こんな感じ。 んで、次のようなコードを実行してみる。…

IE操作のためのクラスを作った

クラスにしてしまったのでぶちまけておく 職場のクソWebアプリの攻略の過程で色んなメソッドを作ったので、無駄にクラス化しておいた。 思いつきを行き当たりばったりで形にしただけなので、ツッコミどころはたくさんあると思う。 複数インスタンスを作るシ…

初めてのIE操作(7)~InternetExplorerオブジェクトが現在表示中のDocumentを返してくれない問題に対応する

InternetExplorerオブジェクトが現在表示中のDocumentを返してくれない問題への対応 前々回の問題点の項でも触れたとおり、VBAからHTML上の要素に対してclickメソッドを実行してページ移動した場合、親元のInternetExplorerオブジェクトのDocumentプロパティ…

初めてのIE操作(6)~InternetExplorerオブジェクトのDocumentプロパティを調べるFunction

InternetExplorerオブジェクトのDocumentプロパティの返り値を確認するFunction 前回 akashi-keirin.hatenablog.com の「問題点」の項にも書いたとおり、VBAからIEを操ったときに、画面に表示されているHTMLドキュメントと、InternetExplorerオブジェクトのD…

初めてのIE操作(5)~リンク(ボタン)をクリックしてページ移動する

リンクを取得してクリックする 前回までの4記事で、 akashi-keirin.hatenablog.com 目的のWebページを開き、 akashi-keirin.hatenablog.com 起動中のIEオブジェクトを取得し、 akashi-keirin.hatenablog.com 表示中のHTMLドキュメントのソースをぶっこ抜い…

WindowsAPI関数をクラスモジュールに封印するとメッチャ便利

WindowsAPIの関数をラップするクラスを作ったらメッチャ便利だった タイトル通り。 そもそもは、 コチラの『VBA Developer's Handbook』で紹介されていたテクニックで、ちょっとやってみたら便利だったというだけの話。 ちなみに、コチラの書籍は、VBA四天王…

列挙体の要素列挙時に「:」による改行が使えた

列挙体の要素列挙時に「:」による改行が使えた 前回の akashi-keirin.hatenablog.com に、id:imihito さんからコメントをいただいた。 曰く、 「: hgAho: hgBaka: hgKasu」 のように先頭に「:」を付ければ大丈夫 と。 ぬわにぃ~~~~!!(昭和風) という…

列挙体の要素列挙時に「:」による改行は使えない

列挙体の要素の列挙に「:」による改行は使えない もう題名以外に書くことがない。 列挙体の要素列挙時の改行 普通は、 こんなふうに、列挙体の要素の列挙をするときは、改行を用いる。 ただ、要素数が多いと異様にタテ長になってしまうのが南天のど飴難点。 …

初めてのIE操作(4)~タグ名とキーワードからHTML要素を取得するFunction

HTML要素をタグ名とキーワードで特定して取得するFunction 前回まで akashi-keirin.hatenablog.com akashi-keirin.hatenablog.com akashi-keirin.hatenablog.com で、Webページを取得して、仮に「右クリック→ソースの表示」や「[Ctrl]+[U]」や「[F12]」など…

初めてのIE操作(3)~HTMLソースをファイルに出力するメソッド

WebページのHTMLソースを出力するメソッド 前々回、 akashi-keirin.hatenablog.com 前回 akashi-keirin.hatenablog.com の続き。 Webページ/アプリを操作するには、HTMLがどうなっているのかを知らなければどうにもならない。 ただし、前回すでに起動中のIE…

初めてのIE操作(2)~起動中のIEを取得するFunction

ウインドウのタイトルを元に起動中のIEを取得するFunction 前回 akashi-keirin.hatenablog.com の続き。 ページのURLや、HTMLソースが分からないときがある。 Webアプリで移動した先のページなんかの場合だ。たいていアドレスバーが切られていたりするし、右…

初めてのIE操作(1)

初めてのIE操作(1) IEベースの業務用Webアプリの操作がくっそダルかったので、生まれて初めてVBAからのIE操作にチャレンジしてみたら、意外と簡単だったので、報告。 業務用Webアプリ操作のために私が乗り越えなければならなかった壁は以下の通り。 VBAからI…

マーカ部分をRange配列として取得する(Word)

Findオブジェクトを用いてマーカ部分を取得する この記事 akashi-keirin.hatenablog.com へのid:imihitoさんのコメントにより、Findオブジェクトを用いて「蛍光ペン」のところをRangeオブジェクトとして取得できるということを知った。 参考にしたのは『みん…

UndoRecordオブジェクトというものがある(Word)

UndoRecordオブジェクトというものがある 前回の akashi-keirin.hatenablog.com に、id:imihito さんからコメントをいただいた。 曰く、 また、Undoの履歴は、以下のようにするとひとまとめに出来たはずです ```vb Application.UndoRecord.StartCustomRecord…

Document.Charactersコレクションの要素を一つづつ処理するのは大変(Word)

WordでDocument.Charactersオブジェクトを一つづつ処理するのは異様に時間がかかる 資料の修正箇所に網掛けをしたものと、同じ内容で網掛けのないバージョンを要求されることがある。 そして、網掛けありバージョンと網掛けなしバージョンが併立するというこ…

飛び地状態のセル範囲にも名前を付けることができる(Excel)

飛び地状態のセル範囲にも名前を付けることができる Excel使いこなしマンには常識だったのかも知れないが、便利だなと思ったので記しておく。 飛び地状態のセル範囲に名前を付けてみる まず、 こんな風に、投げやりに文字列を入れておく。 別に入れなくても…

整数以外の列挙体っぽいものは実現可能なのか

定数的なクラスを列挙体っぽく使う 前回、 akashi-keirin.hatenablog.com クラスモジュールとPropertyを用いて、列挙体的な整数以外の定数が作れるのではないか、と述べたが、かなり浅はかな考えだったようだ。 列挙体の何が便利といって、たとえば、 Public…

整数以外の列挙体っぽい定数を実現する

整数型以外の列挙体ぽいものを実現する 題名が分かりにくくてすまない。 最近、VBA Deveroper's Handbookにハマっている。 んで、その中で面白そうなアイディアを発見したので、ちょっと実験してみた。 今出先で、『VBA Deveroper's Handbook』が手元にない…