わーぷろおじさん

WordやOffice関連の小細工の備忘録。

【Excel VBA】簡単にNeポート番号付きのプリンタ名一覧を取得する裏技

コード 参照設定:Microsoft Shell Controls And Automation Sub Test() Dim myPrinter As String myPrinter = Application.ActivePrinter Dim Shell As Shell32.Shell Set Shell = New Shell32.Shell Dim Printer As Shell32.FolderItem2 For Each Printer …

【word vba】差し込み印刷をマクロで制御(備忘録)

基本操作 Sub testMMDS() Dim mmds As MailMergeDataSource Set mmds = ActiveDocument.MailMerge.DataSource Debug.Print mmds.ConnectString Debug.Print mmds.QueryString Debug.Print mmds.TableName Debug.Print mmds.Name Dim i As Long For i = 1 To …

【word】ルビを文字スタイルで管理(その2)

概要 前の記事で、wordのルビ機能によらないルビの実現及びスタイルでの管理方法を説明したが、今回はwordのルビ機能を使いながらルビのスタイル管理の方法について提唱する。 今回は書式の置換を用いて、一括でルビにスタイルを適用する。 手順 通常通り、w…

【word】縦中横を文字スタイルで管理(縦書き文書・横書き文書切替対応)

概要 縦書きと横書きを相互に切り替えられるよう、縦中横を文字スタイルで管理する。 なお、縦中横などの拡張書式(英語名:Asian Layout)は、スタイルの設定ダイアログからは設定できない。 よって、スタイルの修正ではなく、スタイルセットの切替により縦…

【word】ルビを文字スタイルで管理

概要 通常、ルビの一括管理はフィールドコードの文字列置換によって行うことが多いと思われるが、当記事では新しい方法として文字スタイルによる管理を提唱する。 手順 (1)文字スタイルを作成 ・スタイル名は「ルビ文字」など ・フォント:任意のフォント…

【word】ルビの挙動(ゾンビ仕様)

ルビのフィールドコード ルビボタンでルビを作成すると下記のようなフィールドコードが作成される。 {EQ \* jc2 \* "Font:游明朝" \* hps10 \o\ad(\s\up12(ユン・ピョウ),元彪)} \oスイッチは重ね文字で、\sスイッチは文字列の上下位置をずらすもの。 単純に…

【word】字送り幅・フォントサイズ・文字間隔の関係

基本的事項 文字の基本的な字送り幅を設定する項目は下記2点 ページ設定の字送り幅 フォント書式の文字間隔 ページ設定の字送り幅はデフォルト状態では、フォントサイズとなっている。横書き文書の文字の縦の並びを揃えたりする場合は、ページ設定で文字数・…

【excel】関数・マクロ・切り貼りなしで段組印刷

概要 考えたり微妙な調整を行うことなくして、確実に段組印刷を行う。Microsoft XPS Document Writer + Abobe Acrobat Reader + Microsoft Print to PDFを使用する。 印刷関連機能の確認 Excel 用紙サイズは設定しているプリンタで使用できる用紙サイズのみ…

【excel】枠線印刷の仕様(改ページのあるシートの各ページ上下罫線を実線にする・タイトル行がある場合は、タイトル行の下罫線を任意の罫線に設定する)

概要 通常、ページを跨ぐ時は改ページ前後のセルの罫線設定がページの一番下および次ページの一番上の罫線に適用されるが、枠線印刷設定により全てのページの外枠を実線とする。 印刷タイトル行を設定している場合は、印刷タイトル行の一番下の行の下罫線を…

【powerpoint】スライドマスターとスライドレイアウトの親子関係の修復

親子関係の仕様 スライドレイアウト(レイアウトマスター)でスライドマスターに従う要素は、スライドレイアウト側で定義していない要素である。スライドレイアウトで書式等を設定した場合は、その定義を削除することで再びスライドマスターに従うようになる…

【powerpoint】行頭文字のない箇条書き

概要 行頭文字にゼロ幅スペース(Zero Width Space:U+200B)を用いる。(タイトル画像の「下記3つ…」の行頭文字がゼロ幅スペースとなっている) 説明 行頭文字をBack Spaceで削除すると、箇条書きも解除され、プレースホルダーに設定した書式が使えなくなる…

【word】リスト形式のベタ塗白抜き見出しの自動調整(見出し列の幅も自動)

概要 表の「セルの間隔」設定で、簡単に正確なリスト形式のベタ塗白抜き見出しを作成する。 手順 ①2列×複数行の表を挿入(1列目が見出し、2列目が内容) ②文字列の幅に自動調整 ③表全体の罫線をなしにする ④1列目の網掛けを指定(黒など)※必要に応じフォン…

【word】mm単位表示設定時のpt単位の留意点

概要 ptとmmは単位が異なるので変換時に丸め誤差が生じる。pt単位でベタ組みをする際は特に注意が必要(それ以外の場合は特に気にする必要はないと思われる) 丸め誤差はpt単位で設定した後に、再度同じダイアログを開いてOKした時に発生する。(ダイアログ…

【word】アクセラレーターキー(アクセスキー)と英語メニュー(備忘録)

一覧(個人的に使用しそうなものを抜粋) メニュー サブメニュー Alt, Menu SubMenu 編集 【クリップボード】ウィザード E,B Edit Office Clipboard 表示 グリッド線の表示/非表示 V,G View Gridlines 挿入 【改ページ】 I,B Insert Break 書式 【フォント】…

【word】表幅・列幅・行高の詳細(罫線幅・余白との関係)

表幅・列幅の構成要素 列幅:隣接する罫線の中央から中央の距離 表幅:列幅の合計。レイアウト上は、左右の外側罫線の幅の1/2も上乗せとなる。(例)100ptの列が2列ある表で、罫線が全て6ptの場合表幅:200pt(100pt+100pt)レイアウト上の表幅:206pt(左罫…

【MSoffice一般】ボールドフォント(太字)をCtrl+Bしないで使う

概要 フォント名に直接ボールドフォント名を入力する。 (Word・Excel・PowerPoint共通) 主要な和文ボールドフォント(windows標準環境) 游ゴシック Bold メイリオ ボールド BIZ UDPゴシック bold UD デジタル 教科書体 NP-B ※ピッチ違いとUIフォントは省…

【word】文字間隔の調整いろいろ(備忘録)

設定対象別 文字間隔の調整(文書単位) Wordのオプション > 文字体裁 間隔を詰めない 句読点のみを詰める(デフォルト) 句読点とかなを詰める ページ設定の文字数(セクション単位) ページ設定ダイアログ > 文字数と行数タブ 標準の文字数を使う 行数だ…

【word】表のセルがページを跨ぐ時に、ページ末・次ページ頭の罫線を非表示にする

概要 内容を記載するセルを空白セルでサンドイッチする。 方法1(行サンドイッチ法) 上空白セル セル内の段落書式 行送り:1pt グリッドに合わせる:無効 次の段落と分離しない:有効 セルの書式 上罫線:あり 下罫線:なし 内容を記載するセル セルの書式…

【word】段落罫線の調整(余白設定・行取り)

概要 段落罫線・網掛けの設定について、水平方向の調整方法と、垂直方向の調整方法(行取り)を説明する。 (※タイトル画像は、罫線の存在を示すため、上下右罫線を薄い灰色としているが、ページの色と同色とすれば、見えなくなるもの) 共通設定(例) ペー…

【excel vba】Listobjectをテーブル名で掴み、SQLを投げる

概要 Listobjectの取得にはworksheetの指定から行わなければならず面倒なので、テーブル名だけで取得できるように関数を用意する。 テーブルに対してSQLを投げる際のSQL文をListobjectを起点として作成する方法を説明する。 コード New_モジュール Public Fu…

【vba】自作コレクションクラスの備忘録

VBA

概要 自作コレクションクラスにインスタンスをNewから直Addして、For Each又はIndexでアクセスする備忘録 前提 クラスの属性については、他のサイトで十分に解説されています。 コンストラクタに引数を持たせる方法については、自前の下記記事を参照願います…

【vba】引数付きコンストラクタの一案

VBA

概要 コンストラクタに引数を持たせる方法の一案 コード Personクラス Option ExplicitPrivate mName As StringPublic Function Init(Name_ as String) As Person mName = Name_ Set Init = MeEnd Function Init関数を定義し、引数を受け取って自身のインス…

【word】縦書き文書の表を操る

概要 横書き文書の文字を左に90度回転させることで、縦書き文書に見せかける。癖は強めだが、通常の縦書き文書の表では実現できないことが実現可能となる。 用語の確認 字送り方向文字列が連なる方向。横書きの場合は左から右。縦書きの場合は上から下。 行…

【word vba】縦に列挙した文字列をフィールドコードで括弧で囲う

概要 段落区切りで区切られた文字列をVBAでフィールドコードに取り込む 送付文書の連名宛名の右側だけに右波括弧を付けて、波括弧の外に「殿」を付ける(私の職場の)習慣をもとにマクロを作成 前提条件 列挙される文字列は改行によって区切られている(段落…

【word】表の横幅の自動調整をカスタマイズ

概要 表の列幅の自動調整をより柔軟に行うための設定方法 デフォルト自動調整 カスタマイズ設定の前にデフォルトの自動調整機能で表幅、列幅に設定される内容について確認する。 (1)「文字列の幅に自動調整」 表幅:設定なし 列幅:設定なし (2)「ウィ…

【word】縦に列挙した文字列の最長文字列の長さで均等割り付け

概要 均等割り付けの幅を動的に自動調整する 操作 準備 1×1の表を挿入 セル内に文字列を列挙 表の設定 表の自動調整から「文字列の幅に自動設定」とする 表の罫線設定を「罫線なし」とする セル内の全ての段落に対して、段落書式の「均等割り付け」を設定…

【word】1行の左右両端に文字列を配置

概要 タブ幅に、本文領域の幅より大きな値を設定する。 操作 段落ダイアログ > タブ設定 タブ位置:99(字)配置:右揃えリーダー:なし ⇒設定実行 ※99字である必要はないけど、1行で99字を超えることはそうそうないので99字としておけば問題なし

【word】蛇腹折りの式辞

概要 段落内で、スペース・改行を用いずに任意の位置の行を空行とする(空行の前後の文字列が連続している状態を保つ) キーテクニック ヘッダー(またはフッター)のオブジェクト(直線)を本文領域に配置し、本文文字列を回り込ませる。 設定 ※操作の手順…

【word】ベタ組

概要 組版における「ベタ組み」を実現するため、pt単位で用紙設定を行う 設定 フォントサイズ設定 標準スタイルのフォントサイズを、任意の値に設定する。 余白設定 レイアウトタブ>ページ設定(ページ設定ダイアログを開く) ページ設定ダイアログ>余白タ…