tagCANDY CGI VBレスキュー(花ちゃん) - VBレスキュー(花ちゃん)の投稿サンプル用掲示板 - Visual Basic 6.0 VB2005 VB2010
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ
VBレスキュー(花ちゃん)の投稿サンプル用掲示板
     サンプル投稿用掲示板  VB2005 〜 用トップページ  VB6.0 用 トップページ
VB2010 から Excel の既存のファイルを印刷(VB.NET) ( No.27 )  [親スレッドへ]
日時: 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



 [スレッド一覧へ] [親スレッドへ]