2019-01-01から1年間の記事一覧

別ブックのThisWorkbookモジュールのメソッドを呼ぶ(Excel)

別ブックのThisWorkbookモジュールのメソッドを呼ぶ 前回 akashi-keirin.hatenablog.com 別ブックのシートモジュールのメソッドを呼ぶ実験をした。 では、別ブックのThisWorkbookモジュールのメソッドはどうなのだろうか。 コードの追加 まず、ち~んw1号.…

別ブックのシートモジュールのメソッドを呼ぶ(Excel)

別ブックのシートモジュールに書いたメソッドを呼ぶ シート独自の処理など、シートモジュールに書いておくのは、「コードの整理」という観点からは非常に便利。 では、シートモジュールに書いた処理を、他のブック(プロジェクト)から呼び出すことはできる…

名づけて、「ダルマ落とし方式」! (Word)

名づけて「ダルマ落とし方式」! 前回 akashi-keirin.hatenablog.com のマヌケ記事の続き。 シェイプが一掃されない理由 どうも、For Eachでループさせる際に、VBAは内部でShapesコレクションに番号を振って、その番号順に処理をしているらしい。 ただ、Dele…

Document内のテキストボックスを一掃すること能わず……(Word)

WordのDocument上からテキストボックスを一掃できない やたらとテキストボックスがベタベタ貼り付けられた文書に出会った。 文章をコピペしようにも、巻き添えでテキストボックスが選択されてしまうのでうっとうしいことこの上ない。 で、マクロで一掃してや…

ルビと親文字の距離を調整するFunction(Word)

ルビと親文字の距離を調整するFucntion ルビと親文字の距離を司るのは、 EQ \* jc4 \* "Font:MS 明朝" \* hps10 \o\ar(\s\up 10(ムーンサルト),月面宙返) の中の \s\up 10 の部分。 たとえば、 この状態のときのルビの設定は、 このとおり。 このときのフ…

繰り返しを伴う処理をまとめる

フィールドコード総ナメ方式のプロシージャをまとめる 前回までの3回 akashi-keirin.hatenablog.com akashi-keirin.hatenablog.com akashi-keirin.hatenablog.com で紹介したFunctionを使って、選択範囲のフィールドコードを総当たりで処理するプロシージャ…

ルビのフォントの種類を変更するFunction(Word)

ルビのフォントの種類を変えるFucntion 前々回 akashi-keirin.hatenablog.com 前回 akashi-keirin.hatenablog.com のつづき。 今度は、ルビのフォントの種類を変える。 上記フィールドコード、 EQ \* jc2 \* "Font:MS 明朝" \* hps10 \o\ad(\s\up 10(ムー…

ルビのサイズを変更するFunction(Word)

ルビのサイズを変えるFunction 前回 akashi-keirin.hatenablog.com の続き。 ルビのサイズを変える ルビのサイズを変えるには、 上記フィールドコード、 EQ \* jc2 \* "Font:MS 明朝" \* hps10 \o\ad(\s\up 10(ムーンサルト),月面宙返) のうち、 \* hps10 …

ルビの割付を変更するFunction(Word)

ルビの割付を変更するFunction 正確に言えば、ルビの割付位置を変更した後のFieldオブジェクトのCode.Textプロパティの値を変更するFunctionです。 ルビの割付の変更 たとえば、 この「月面宙返」にルビを振る。 「ルビ」ダイアログボックスにこのように設定…

検索速度の測定 再び……

検索速度の測定再び…… 前回 akashi-keirin.hatenablog.com ご紹介したように、UsedRangeまわりのExcelの挙動について重大な思い違いをしていたことに気付いた私は、心を入れ替えて実験をし直すことにした。 実験環境の再整備 まず、イミディエイト・ウインド…

Worksheet.UsedRangeに関する衝撃の事実(大袈裟)

Worksheet.UsedRangeプロパティに関する衝撃の事実(大袈裟) はけたさんの一言 Twitterで、はけたさんが、 こんなことをおっしゃっていたので、実験してみた。 UsedRangeとは何なのか まず、 akashi-keirin.hatenablog.com このときに使用した このシートの…

検索の速度を測ってみた

検索の所要時間を調べた ちょっと興味があったので、調べてみた。 このように、1000行1000列目のセル、すなわちALL1000セルに「ち~んw」という値(笑)を入力したシートを準備する。 で、この「ち~んw」を検索するのにどのぐらい時間がかかるものなのか…

乱数を作るクラスを改良した

乱数を作るクラス ランダムに並べ替える作業というのは滅多にないのだけれど、絶妙に忘れかけた頃に発生するので、 akashi-keirin.hatenablog.com このときにクラスまで作っていた。 んで、改めて見直してみたら、イマイチやなあ、と(笑)。 そんなわけで、…

自作WindowsAPIクラスにユーザが選択したフォルダのパスを返すFunctionを追加した

ユーザが選択したフォルダのパスを取得するFunction 相変わらず、WindowsAPIにハマっている。 今回も、名著『大村あつしのExcel VBA Win64/32 API プログラミング』を参考に、おなじみ、自作WindowsAPIクラスにメソッドを追加する。 akashi-keirin.hatenablo…

名著『大村あつしのExcel VBA Win64/32 API プログラミング』に誤植???

誤植? おなじみ、『大村あつしのExcel VBA Win64/32 API プログラミング』に、誤植かも知れない箇所を発見したので、ご報告。 すでに出版元のWebページ等で訂正されているかも知れないが、そこは調べていない。(←調べろ。) 134~135ページ 当該書籍(以下…

自作WindowsAPIクラスにウインドウのクラス名を返すFunctionを追加した

ウインドウのクラス名を返すFunction WinAPIの勉強中。 コチラの本に、アプリケーション別のクラス名が掲載されていたのだが、Internet Explorerのクラス名が載っていなかったので、アプリケーションのクラス名を返すFunctionを作ってみた。 コードを書いて…

自作WindowsAPIクラスを修正した

WindowsAPIクラスの修正 『大村あつしのExcel VBA Win64/32 API プログラミング』 二年半程前に購入したものの、「だめだ、今の私では歯が立たない……」と諦めていた コチラの本、『大村あつしのExcel VBA Win64/32 API プログラミング』。 「今ならそこそこ…

指定フォルダからファイル名を取り出すクラス

指定したフォルダからファイル名を取得するクラス Twitterではけたさんがおっしゃっていたものを私も作ってみた。 あまりうまくないかも知れないけれど……。 指定フォルダからファイル名を取得するクラス オブジェクト名は「TargetFiles」とした。 リスト1 …

テキストボックス内のハイライト部分をそれぞれ配列に格納して、Collectionにする(Word)

テキストボックス内のハイライト部分をそれぞれ配列に格納して、Collectionにする 意味の取りづらいタイトルですまない。 テキストボックス内のハイライト部分(Rangeオブジェクト)をテキストボックスごとに配列にして、それぞれの配列をCollectionにぶち込…

転記用マクロをサクッと書いてみた(Excel)

転記用マクロをサクッと書いてみた Twitterで話題になっていたのでちょっと乗っかってみた。 転記処理は、基本的に各転記元のブックの方で、集計(積み上げ)対象のデータ(笑)だけを別シートに転記しておいて、集計(積み上げ)時には、そのシートのデータ…

テキストボックスの先頭にカーソルを置く(Word)

テキストボックス内の先頭にカーソルを置く Documentオブジェクトの場合 Documentオブジェクトの先頭位置にカーソルを置くのは簡単。 Document.Range(0, 0).Select とすれば、ドキュメントの先頭位置にカーソルを置くことができる。 テキストボックスの場合 …

配列を配列の要素にする

配列の配列を作ってみる 配列の要素を配列にすることはできるのか。 やってみた。 準備 Split関数をラップしたFunctionを作って、簡単にString型の配列を作れるようにした。 リスト1 標準モジュール Private Function setArray( _ ByVal spaceSeparatedWord…

Findオブジェクトの設定をリセットするメソッド

Findオブジェクトの設定をリセットするメソッド このとき akashi-keirin.hatenablog.com のリスト1で、Document内の黄色蛍光マーカ位置をRange配列として返すメソッドを作った。 その中で、Findオブジェクトを初期設定する部分、すなわち、 Call Selection.…