マイクロソフトのエクセルマクロを作成しています。
現在行いたいことはマクロで印刷サイズを設定するところなのですが、A6(105148)もしくはハガキサイズ(100148)の設定の仕方がわかりません。
以下のようにコーディングを行ってもxlPaperA6の設定が存在しないためできません。
ユーザー設定による設定ができると思ったのですが、どなたかわかりませんか。
よろしくお願いします。
Sub 印刷 With worksheets("sheet1") .PageSetup.PaperSize = xlPaperA6 .PrintPreview End With End Sub
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答4件
0
ユーザー定義サイズの印刷をするには、先にプリンタのプロパティでユーザー定義のサイズが設定されていなければなりません。
これはExcelとは別の話ですので、ExcelVBAでの対応は不可能です。
(ActiveXで実現できなくはないですが・・・)
プリンタのプロパティは、コントロールパネルからでもExcelの印刷ページ設定からでも結果は同じです。Excelの印刷ページ設定からであれば、右下のオプションをクリックすると開きますが、ここから先は使用しているプリンタドライバの仕様によりますので、もし設定がわからなければ、マニュアルを見るかメーカーに問い合わせてください。
無事にサイズの設定を保存できたら、Excelを再起動してください。そのままでは選べない可能性があります。
ここまでお膳立てして、ようやくVBAで使用が可能となります。
VBA
1Worksheets("file1").PageSetup.PaperSize = 190
プリンタのプロパティで登録したユーザー定義の1つめであれば190番、2つめなら191番といった具合で指定してみてください。
但し、プリンタドライバによっては、190番からではない可能性もありますので、もしエラーが出てうまくいかなかった場合には、マクロの記録機能を使って、記録中にユーザー設定した用紙サイズを選択し、生成されたコードを見て正しい番号を確認してください。
投稿2019/08/23 08:15
総合スコア220
0
ベストアンサー
定数定義されてないだけで、数値で設定できるようです。
A6=70
ハガキ=43
投稿2019/08/23 08:05
総合スコア246
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

0
VBA
1Sub Macro1() 2 With ActiveSheet.PageSetup 3 .LeftHeader = "" '} 4 .CenterHeader = "" '} 5 .RightHeader = "" '}ヘッダー&フッター 6 .LeftFooter = "" '} 7 .CenterFooter = "" '} 8 .RightFooter = "" '} 9 .LeftMargin = Application.InchesToPoints(0.787) '} 10 .RightMargin = Application.InchesToPoints(0.787) '} 11 .TopMargin = Application.InchesToPoints(0.984) '}余白 12 .BottomMargin = Application.InchesToPoints(0.984) '} 13 .HeaderMargin = Application.InchesToPoints(0.512) '} 14 .FooterMargin = Application.InchesToPoints(0.512) '} 15 .PrintHeadings = False '←見出し 16 .PrintGridlines = False '←枠線 17 .PrintComments = xlPrintNoComments '←印刷タイトル 18 .PrintQuality = 300 '←印刷品質 19 .CenterHorizontally = False '←余白の水平 20 .CenterVertically = False '←余白の垂直 21 .Orientation = xlPortrait '←回転角度 22 .Draft = False '←簡易印刷 23 .PaperSize = xlPaperA4 '←紙のサイズ指定 24 .FirstPageNumber = xlAutomatic '←ページ番号 25 .Order = xlDownThenOver '←降順、昇順 26 .BlackAndWhite = False '←白黒印刷 27 .Zoom = 100 '←倍率 28 .PrintErrors = xlPrintErrorsDisplayed ' ←セルのエラー 29 End With 30 ActiveWindow.SelectedSheets.PrintPreview 31 ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True '←印刷 32End Sub
これなら、ご自分の好きなサイズに設定することができるかとおもいますが・・・
投稿2019/08/23 07:57
総合スコア1015
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/23 08:23
2019/08/23 15:28