WordVBA

カーソルを任意の位置に置く(Word)

カーソルを任意の位置に置く たぶんWord2010のバグだと思うのだけれど、均等割付を施したところに差込フィールドがあると、差し込まれた後に字幅がおかしくなる。 職場のPCでしか遭遇しない症状なので、画像でお見せできないんだけれど、データが差し込まれ…

Wordの「スタイル」をVBAで操作する(3) (Word)

「標準」スタイルのフォントを変更するメソッド 前回 akashi-keirin.hatenablog.com のつづき。 一発で「標準」スタイルのフォント設定を変更することができるようなマクロを作ってみる。 リスト1 標準モジュール '///標準スタイルのフォントを設定する' Pu…

Wordの「スタイル」をVBAで操作する(2) (Word)

「標準」スタイルのフォントを変える 前回 akashi-keirin.hatenablog.com のつづき。 ウチの環境では、Document.Styles(194)で「標準」スタイルにアクセスできるのだった。 Style.Fontオブジェクト MSDN Dev Centerの「Style Members (Word)」によると、フォ…

Wordの「スタイル」をVBAで操作する(Word)

Wordの「スタイル」をVBAで操作する ウチの職場には、書類の英数字は等幅という謎ルールがある。 まあ、位置が揃わないのが嫌なのはなんとなく分かる。 ただ、「スタイル」という機能を知らずにWordを使っている人がほとんど(目測で9割以上)なので、 文書…

Document_Closeイベントで差込データソースとの接続を切断する

Document_Closeイベントの挙動 差し込み印刷の設定をしているドキュメントは、一旦閉じると、次回起動時に自動的に前回接続していたデータソースに接続しようとする。 これはこれで親切機能なのだが、何も知らない人が差し込み設定をしたドキュメントを別の…

STARTUPフォルダの中に置くのはショートカットでいい[Word]

STARTUPフォルダに置いておくのはショートカットでいい STARTUPフォルダに置くマクロ入りテンプレート しょっちゅう使うマクロをアドインにする、というワザを割と最近覚えたんだけれど、 akashi-keirin.hatenablog.com akashi-keirin.hatenablog.com Wordの…

ファイル名を変えて保存する[Word]

Wordドキュメントの名前を変えて保存する SaveAs2メソッドとNameステートメントの処理をラップする イメージとしては、 「名前を付けて保存」でファイル名を変えて別フォルダに移す処理 元のファイルを別のフォルダに移す処理 をいっぺんにやってしまう、と…

フォルダ選択ダイアログを表示させるFunction

フォルダを選択させてフォルダパスを取得するFunction ファイルをリネームするマクロを作るにあたり、保存先をその都度選べるようにした方が汎用性が高いと思ったので、Functionにしてみようと思った。 すでに akashi-keirin.hatenablog.com このときにクラ…

Wordの表から文字列を取り出すFunction

Wordの表の文字列を取得するFunction Wordの表の文字列を取得する 「書類の電子化」と言いつつ、 単に紙をWordとかにしただけ という凶悪な職場はいまだに一定の数存在すると思う。 んで、いろんなところからWordドキュメントが集まってくるわけだが、そんな…

WordVBAで処理に使うデータを外部化する

指定した文字列のフォントを狙い撃ちで変えるマクロの改良 データを外部ファイル化する たとえば、明朝体で書かれた文書のうち、特定の語句だけを狙い撃ちでゴシック体にしたい、というときには、 ゴシック体に変えたい語句(X) と、 Xを含んでいるけれどゴ…

テキストファイルからテキストを読み込んで配列化するFunction

テキストファイルを読み込んで文字列を行ごとに配列化するFunction テキストファイルを開いて読み込む VBAエキスパート公式テキスト ExcelVBAスタンダードの217ページによると、 テキストファイルを開くには、Openステートメントを使います。(中略)テキス…

VBAでテキストファイルを生成する

VBAでテキストファイルを生成する FileSystemObjectオブジェクトを使う 「VBAからテキストファイルって生成できるんかな?」と思ってggってみたら、コチラでFileSystemObjectオブジェクトのCreateTextFileメソッドを使う方法が紹介されていた。 曰く、 FileS…

指定した文字列のフォントを狙い撃ちで変えるマクロ[Word]

Wordで指定した文字列だけ狙い撃ちでフォントを変えるマクロ 文字列単位でフォントを変える 1文字単位でフォントを変える、というのは過去にやったことがあるが、それだと巻き添えで関係のないところまでフォントが変わってしまうので、ちょっとメンドクサ…

フォントが存在するかどうかを判定するFunction [Word]

指定したフォントの存否を調べるFunction 指定したフォントが存在するかどうかをどうやって調べるのか だいぶ前に、超有名なOffice TANAKA さんのサイトで、 フォントの一覧を取得するマクロ というものを見たことがあった。 んで、単純にこれをWordに移植で…

差込データソースとの接続をVBAで行う(2)

差込印刷のデータソースとの接続をVBAで行う Openイベントで接続する 差込印刷機能というのは非常に便利なので、Wordスキルがど素人のレベルでも使っている人は非常に多いと思う。私もそのクチ。ただ、データソースとの接続回りが非常に素人には分かりづらく…

差込データソースとの接続をVBAで行う

VBAで差込印刷のデータソースに接続する 差込印刷データソースの指定 以前、差込印刷のレコードごとにWordファイルを生成するということをやったことがあった。 akashi-keirin.hatenablog.com これはこれで、メチャクチャ便利で、重宝しているんだが、フォル…

VBAでテキストボックスのレイアウト設定を操作する

ことごとく「背面」になっているテキストボックスェ…… 業務で引き継いだWordドキュメントがカオス…… 業務でWordドキュメントを引き継いだ。 で、そのWordドキュメントってのがひどいやつで、 40個ぐらい配置されているテキストボックスのレイアウトがことご…

タブ幅やタブ位置をVBAから設定する

VBAからタブを設定する 既定のタブ幅をVBAで操る タブ幅の設定って、結構めんどくさいなあと思っていた。んで、何とかVBAで操作できないものか、とちょっとggってみたんだが、これというものが見つからず(調べ方が悪いだけだと思うけど)、ちょいとマクロ記…

乱数を格納した配列を保持するクラスを作ってみた

乱数を格納した配列を保持するクラス クラスへの移行 前回の akashi-keirin.hatenablog.com で、乱数を格納した配列を作るFunctionを作った。 実は、追記のところで、型指定でVariantを使うブサイクさ問題は解決ずみなんだが、乗りかかった船なのでやってお…

乱数を格納した配列を作るFunction

文字をランダムに並べ替える 乱数を作るのはめんどくさい ランダムに並べ替えるという作業をするときには、乱数を発生させて使えば良いのだが、毎度毎度乱数を発生させる処理を書くのは正直メンドクサイ。 最大数を与えたら、1~最大数をランダムに並べて配…

WordドキュメントのPDF化ツール――だいぶ本格的になりました

自作ツール「かんたんPDF変換」 3種類のPDF変換をこなすツールを自作した akashi-keirin.hatenablog.com akashi-keirin.hatenablog.com 上記の記事で、Wordドキュメントを編集中にサクッとPDF化するマクロを作ったわけだが、 いっそちゃんとしたツールとし…

Wordドキュメントの編集中のページをサクッとPDF化する

WordドキュメントのアクティブなページのみPDF化 以前、 akashi-keirin.hatenablog.com コチラの記事で、クリック一発で編集中のドキュメントをPDF化するマクロを紹介した。 今回は、題名のとおり、 現在アクティブなページのみPDF化 するマクロを考える。 …

編集中のWordドキュメントをサクッとPDF化するアドイン

素早く手軽にPDF化 WordドキュメントのPDF化 大量のWordドキュメントを自動でPDF化する、というのは、かなり前に対応済みだった。 akashi-keirin.hatenablog.com Wordドキュメント1つとか2つだけをPDF化する、などというシチュエーションはほとんどなかっ…

ゼロ埋め番号文字列を作る関数を自作した

ゼロ埋め番号を作る関数 調子に乗って関数化 こいつら akashi-keirin.hatenablog.com akashi-keirin.hatenablog.com をもとに、最大数に応じてゼロ埋め数字の文字列を返す関数を作ってみた。 仕様 書式 createNumberFilledByZero(最大数 , 対象数) 第1引数…

String関数なるものの存在を知った

String関数を使う 前回の akashi-keirin.hatenablog.com に、id:imihito さんからコメントをいただいた。 特定の1文字の繰り返しは String関数(名前が紛らわしいですが)を使うと簡単に作れたりします。 VBA.Strings.String$(2, "0") とのこと。 へえ! 知…

Wordドキュメントの表の行を削除する

Wordの表の行を削除する Wordドキュメント内の表の任意の行を削除する 差込印刷機能を使って似たような書類のWordファイルを自動的に作成するマクロをよく使う。 akashi-keirin.hatenablog.com Excelで表さえ作ってしまえば、人力でポチポチやるよりも圧倒的…

文字列の中の必要な部分にだけ書式設定をする

指定した文字の書式だけを変更する 記入見本作り 記入例を作りたかったんだが、日付の欄は、 こんな感じで、「月」と「日」と「(」、「)」をあらかじめ入れておいて、月・日・曜日だけを書いてもらうようにしている。 んで、記入者に書いてもらう部分だけ…

Wordの表の各セルの文字列を利用しやすくする(2)

クラスのプロパティに二次元配列を持たせてみる 表の内容をそのまま配列にする 「表」ということは、二次元配列と同じ形なんである。 そこで、 クラスのプロパティを二次元配列にする ことを試みた。 クラスの改造 まず、前回記事のリスト1のうち、フィール…

Wordの表の各セルの文字列を利用しやすくする

Wordの表の中の文字列を取得するクラス WordTableOperatorクラス クラスモジュールを挿入して、オブジェクト名を「WordTableOperator」にした。 とりあえず、次のようなコードを書いた。 リスト1 Option Explicit 'フィールド' Private wordApp_ As Word.Ap…

「ハナクソ」の正体が分かった……?

ハナクソの正体が分かった??? 「ハナクソ」とは 「ハナクソ」というのは、 akashi-keirin.hatenablog.com Wordの表からExcelのセルに値を転記したときに、テキストの末尾にくっついてくるナゾの物体のこと。 私の職場の環境(Office2010)では、まるでハ…