[[20170721110930]] 『マクロの追加(PDFにて出力)』(ひふみん) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『マクロの追加(PDFにて出力)』(ひふみん)

 以下のマクロがあるのですが、修正できません。。教えてください。
当マクロを実行すると、エクセルファイルが作成されるようになっているのですがこれを、PDFファイルが作成されるように出力したいのですが可能でしょうか?ネットで検索したり試行錯誤したのですがどうしもエラーになってしまいます。

 Sub filediv()

    Dim 番号 As Integer, Fbangou As String, Fshimei As String, Fname As String, folder As String
         番号 = 1
         Worksheets("10期").Select
         Range("a5").Select
         Do Until ActiveCell.Offset(0, 1).Value = ""
                  Sheets("通知表").Range("l8").Value = 番号
                  folder = ActiveWorkbook.Path & "\"
                  Sheets("通知表").Select
                  Sheets("通知表").Copy

                  Fbangou = Sheets("通知表").Range("f6").Value
 '                Fshimei = Sheets("通知表").Range("f6").Value
 '                 ActiveWorkbook.PrintOut

                   Cells.Select
                   Selection.Copy
                   Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                   :=False, Transpose:=False
                  Application.CutCopyMode = False
                  Range("l7:l8").Select
                  Selection.ClearContents
                  ActiveWorkbook.SaveAs Filename:=folder & "通知表" & Fbangou & ".xls", FileFormat:=xlOpenXMLWorkbook
                  ActiveWindow.Close
                  Worksheets("10期").Select
                  ActiveCell.Offset(1, 0).Select
                  番号 = 番号 + 1
         Loop
 End Sub

< 使用 Excel:Excel2016、使用 OS:Windows10 >


 PDFで保存するのをマクロの記録で記録してそれを組み込んではどうか?

(ねむねむ) 2017/07/21(金) 11:29


 ところで
 FileFormat:=xlOpenXMLWorkbook
 というのはマクロなしEXCELブック形式(拡張子がXLSX)だが無理やり拡張子をXLSにして保存しているのか?
 それだと保存したブックを開く際に拡張子とファイルの形式があっていないというメッセージが出ないか?
(ねむねむ) 2017/07/21(金) 11:30

 ねむねむさん
 ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
        IgnorePrintAreas:=folder & "通知表" & Fbangou,
                 ActiveWindow.Close
 をマクロを記録して上記構文を入れてみましたが、引数が・・・とでます。。
(ひふみん) 2017/07/21(金) 11:48

 これは実際の物をコピーしたものか掲示板には手打ちしたものかどちらだろうか?

 >       IgnorePrintAreas:=folder & "通知表" & Fbangou,
 の後ろに行継続の「 _」(スペース+下線)が無いが。

 あと、エラーメッセージを示す場合は下手に省略せずに全文を書いてくれ。

(ねむねむ) 2017/07/21(金) 11:52


わたしはDo〜Loopは苦手なのでFor〜nextで書き換えましたが、
こういうことでしょうか。
不要と思われる部分は削除しました。

 Option Explicit

 Sub test()
     Dim folder As String
     Dim i As Long
     Dim 番号 As Integer
     Dim Fbangou As String

    folder = ActiveWorkbook.Path & "\"

    For i = 5 To Worksheets("10期").Range("B" & Rows.Count).End(xlUp).Row
        番号 = 番号 + 1
        Sheets("通知表").Range("l8").Value = 番号
        Fbangou = Sheets("通知表").Range("f6").Value

        Sheets("通知表").Copy
        ActiveSheet.UsedRange.Value = ActiveSheet.UsedRange.Value
        ActiveSheet.Range("l7:l8").ClearContents
        ActiveWorkbook.ExportAsFixedFormat Type:=xlTypePDF, _
                Filename:=folder & "通知表" & Fbangou & ".pdf"
        ActiveWorkbook.Close False
    Next

 End Sub

(マナ) 2017/07/22(土) 10:43  修正 2017/07/22(土) 11:28


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.