Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


12178 / 13644 ツリー ←次へ | 前へ→

【11864】ファイルの印刷について みーちゃん 04/3/17(水) 18:32 質問
【11867】Re:ファイルの印刷について IROC 04/3/17(水) 21:09 回答
【11881】Re:ファイルの印刷について みーちゃん 04/3/18(木) 11:12 回答
【11882】Re:ファイルの印刷について IROC 04/3/18(木) 11:33 回答
【11905】Re:ファイルの印刷について みーちゃん 04/3/18(木) 15:19 回答
【11906】Re:ファイルの印刷について IROC 04/3/18(木) 15:41 回答
【11910】Re:ファイルの印刷について みーちゃん 04/3/18(木) 15:59 回答
【11916】Re:ファイルの印刷について IROC 04/3/18(木) 16:37 回答
【11923】Re:ファイルの印刷について みーちゃん 04/3/18(木) 17:30 質問
【11926】Re:ファイルの印刷について IROC 04/3/18(木) 18:18 回答
【11929】Re:ファイルの印刷について みーちゃん 04/3/18(木) 18:46 お礼

【11864】ファイルの印刷について
質問  みーちゃん  - 04/3/17(水) 18:32 -

引用なし
パスワード
   初めて投稿します。VBA初心者です。

エクセルファイルA内のマクロを実行して、その結果をAと同じディレクトリに
B〜Eとして別名保存してあります(∴シート名はB〜E全て同じです)。

そこで、Aのマクロ内で、以下の手順を用いてファイルB〜Eを印字したいのですが、
どうすればいいでしょうか?

1. ファイルのあるディレクトリを取得
2. ファイル名を取得
3. 取得のたびに、印字する

この際、ファイル→開くでする時のように、いちいち立ち上げないですむ方法はとれますか?

【11867】Re:ファイルの印刷について
回答  IROC  - 04/3/17(水) 21:09 -

引用なし
パスワード
   いまいち内容が分かりませんが・・

DIR関数の事でしょうか?
VBAのヘルプで確認してみて下さい。

それと「印字」とは何でしょうか?

【11881】Re:ファイルの印刷について
回答  みーちゃん  - 04/3/18(木) 11:12 -

引用なし
パスワード
   処理なんか書く必要ないですよね。
まぎらわしいことを書いてしまってすみません。

つまり、ディレクトリにあるファイル名をフルパスでとってきて、
その後、印刷したいのです。印刷の際は、いちいちエクセルを立ち上げて、
[ファイル]→[開く]→[印刷]の手順をするのではない方法で、
ファイルの印刷を行えないかなぁと思ったのですが・・・

【11882】Re:ファイルの印刷について
回答  IROC  - 04/3/18(木) 11:33 -

引用なし
パスワード
   >[ファイル]→[開く]→[印刷]の手順を
これをマクロの自動記録しては如何でしょうか?

ユーザーが操作する部分と、
マクロで自動化する部分が
明確でないのでよく分かりません。

>ディレクトリにあるファイル名をフルパスでとってきて、
ディレクトリの指定方法は?
ユーザーの任意? マクロ内で指定?(つまり固定)

【11905】Re:ファイルの印刷について
回答  みーちゃん  - 04/3/18(木) 15:19 -

引用なし
パスワード
   ▼IROC さん:
>>[ファイル]→[開く]→[印刷]の手順を
>これをマクロの自動記録しては如何でしょうか?
ええ。それは、わかります。
問題は、いちいち "*/*を印刷"というポップアップが
立ち上がるのが目障りなことです。
それが出ないで印刷できないかなぁ・・・と思ったのですが、無理でしょうか?

ユーザーが操作する部分は、
ディレクトリを指定のセルに入力すること。

マクロでは、そのセルをチェックして、そのディレクトリ内にあるファイルを
全て取得し、印刷するというものです。

【11906】Re:ファイルの印刷について
回答  IROC  - 04/3/18(木) 15:41 -

引用なし
パスワード
   ファイルは開かないと印刷出来ませんし、
印刷のポップアップも表示されます。

しかし
Application.Screenupdating = false
をつかえば、画面の更新が停止するので、
見えない(何も表示されない)ようにはなります。

【11910】Re:ファイルの印刷について
回答  みーちゃん  - 04/3/18(木) 15:59 -

引用なし
パスワード
   ▼IROC さん:
>Application.Screenupdating = false
>をつかえば、画面の更新が停止するので、
>見えない(何も表示されない)ようにはなります。
あ。その方法がありましたね。
そこは、そうすることにします。

それで、マクロのする方が問題なのです。
ディレクトリ名が書いてあるセルをチェックして、
そのディレクトリ内にあるファイル名を取得するのは出来るのですが、
そのあと、それを印刷するところの書き方がいまいち分かりません。
他の質問も見て、分かる部分は作ってみました。

**************************************************************
Sub aa()

'フォルダの選択

Dim myObj As Object
Dim myDir As String
Dim myFileName As String
Dim myFileList As String
Dim fileFullname As String
Dim myFileCount As Long
Dim wbPrint As Workbook

  
  'フォルダ選択ダイアログの表示
  Set myObj = CreateObject("Shell.Application"). _
  BrowseForFolder(0, "フォルダを選択してください", 0)
  If myObj Is Nothing Then Exit Sub
  
  myDir = myObj.Items.Item.Path
  If Right(myDir, 1) <> "\" Then myDir = myDir & "\"

  Sheets("menu").Cells(12, "C") = myDir

  myFileName = Dir(myDir & "*.xls")
  While myFileName <> vbNullString
    If myFileName = ThisWorkbook.Name Then myFileName = Dir()
    fileFullname = myDir & myFileName
    ********** ここに印字する機能を書く **********  
    myFileCount = myFileCount + 1
    myFileName = Dir()
  Wend

  If myFileCount = 0 Then
    MsgBox "ファイルは見つかりませんでした。マクロを終了します。"
    Exit Sub
  Else
    MsgBox "印刷が終了しました。対象件数は" & myFileCount &"件です。"
  End If

End Sub

【11916】Re:ファイルの印刷について
回答  IROC  - 04/3/18(木) 16:37 -

引用なし
パスワード
     Set wbPrint = Workbooks.Open(fileFullname)
  wbPrint.ActiveSheet.PrintOut
  wbPrint.Close

で如何でしょうか?

【11923】Re:ファイルの印刷について
質問  みーちゃん  - 04/3/18(木) 17:30 -

引用なし
パスワード
   ▼IROC さん:
>  Set wbPrint = Workbooks.Open(fileFullname)
>  wbPrint.ActiveSheet.PrintOut
>  wbPrint.Close
>
>で如何でしょうか?

で、でました。すばらしい!
ちなみに、ファイル内の特定なシート(シート名は各ファイル共通)だけを
印刷するにはどうすればいいのでしょうか?

【11926】Re:ファイルの印刷について
回答  IROC  - 04/3/18(木) 18:18 -

引用なし
パスワード
   wbPrint.Worksheets("シート名").PrintOut

でっす。

【11929】Re:ファイルの印刷について
お礼  みーちゃん  - 04/3/18(木) 18:46 -

引用なし
パスワード
   ▼IROC さん:
>wbPrint.Worksheets("シート名").PrintOut
>
>でっす。

す、すみません。何から何まで。
ありがとうございました。
ああ これで今日は良く眠れる(^^)

12178 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free