- 日時: 2012/05/29 13:58
- 名前: VBレスキュー(花ちゃん)
- ***********************************************************************************
* カテゴリー:[エクセル][][] * * キーワード:Excel VBA,Excel2010,印刷,用紙サイズ,印刷の向き,余白を設定,部数 * *********************************************************************************** '=================================================================================================== '投 稿 日:2012.05.06 '投 稿 者:VBレスキュー(花ちゃん) 'タイトル:VB2010 から Excel の既存のファイルを印刷 '========1=========2=========3=========4=========5=========6=========7=========8=========9=========0
Private Sub Button25_Click(sender As System.Object, e As System.EventArgs) Handles Button25.Click 'テスト用の適当なファイルを用意しておいて下さい。 '既存のファイルをオープンして、Excel を起動 Call ExcelOpen(System.IO.Path.GetFullPath("..\..\..\data\DBTest.xls"), "Sheet1") '========================== 既存のファイルを印刷 =============================
'[ページ設定]ダイアログボックスを表示(参考) 'xlApp.Dialogs(Excel.XlBuiltInDialog.xlDialogPageSetup).Show()
'印刷プレビューを表示(参考までに) 'System.Threading.Thread.Sleep(3000)
'シートの印刷設定 Dim xlPageSetup As Excel.PageSetup xlPageSetup = xlSheet.PageSetup With xlPageSetup .PaperSize = Excel.XlPaperSize.xlPaperA4 '用紙サイズをA4 '印刷の向き 横=xlLandscape 縦 = xlPortrait .Orientation = Excel.XlPageOrientation.xlPortrait '各余白をセンチ(Cm)単位で設 ' ↓Application でも参照できるが解放されない .LeftMargin = xlApp.CentimetersToPoints(2) '左余白を 20 mm に設定 .RightMargin = xlApp.CentimetersToPoints(2) '右余白を 20 mm に設定 .TopMargin = xlApp.CentimetersToPoints(2.5) '上余白を 25 mm に設定 .BottomMargin = xlApp.CentimetersToPoints(2.5) '上余白を 25 mm に設定 .HeaderMargin = xlApp.CentimetersToPoints(1) 'ヘッダーの余白を 10 mm に設定 .FooterMargin = xlApp.CentimetersToPoints(1) 'フッターの余白を 10 mm に設定 End With
'シートを印刷 2部印刷 'PrintOut(From, To, Copies, Preview, ActivePrinter, PrintToFile, _ ' Collate, PrToFileName, IgnorePrintAreas) 'PrintOut と同様 Excel 2007 の VBA のヘルプでは見当たらないので、MSDN で調べて下さい。 xlSheet.PrintOutEx(, , 2) MRComObject(xlPageSetup)
'============================================================================= 'Excelファイルを上書き保存(True 又省略すれば)して終了処理を実行 Call ExcelClose(IO.Path.GetFullPath(".\Test.xlsx"), False) 'False の場合保存しないで終了 'Excel.EXE がタスクマネージャに残っていないか調査(実使用時は必要なし) Call ProcessCheck() End Sub
|