Announcement

Collapse

ยินดีต้อนรับสู่ Excel Expert Training Forum

กฏกติกาของฟอรัม: แจ้งชื่อและนามสกุลจริงในการสมัครสมาชิก - ตั้งชื่อกระทู้ให้ตรงกับปัญหาที่ถาม - เขียนอธิบายคำถามทั้งในตัวกระทู้และในแฟ้มแนบ - ห้ามใช้คำว่า อ่ะ คับ คำผวน - ตั้งชื่อแฟ้มเป็นภาษาอังกฤษให้สื่อถึงปัญหา - อย่าระบุชื่อให้คนใดเป็นผู้ตอบ - งดให้ความร่วมมือหรือช่วยกระทู้ที่ละเมิดกฏของฟอรัม
See more
See less

VBA Code Print excel fileไปเป็น .Pdf file และโชว์ชื่อ ที่ช่อง file name ก่อน กด save

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • VBA Code Print excel fileไปเป็น .Pdf file และโชว์ชื่อ ที่ช่อง file name ก่อน กด save

    ถ้าต้อง การ print excel file ไปเป็น .pdf file โดยให้มีชือของ file ที่จะ print โชว์ที่ช่อง file name จะเขียน VBA Code อย่างไรครับ
    เช่น file excel ชื่อ "A" ---> print .pdf เป็นชื่อ file A.pdf โชว์ อัตโนมัติ ที่ช่อง file name ก่อน กด save

  • #2
    เริ่ม VBA ง่ายๆ ลองบันทึกดูเองเลยครับ
    VIEW>Macros>Record macro
    ทำสิ่งที่ต้องการแล้วไปที่
    VIEW>Macros>Stop Record macro

    จะได้ code ที่ต้องการครับ

    Comment


    • #3
      ขอบคุณ Vajaraphol มากครับ ผม ลองใช้ Record macro ทำการบันทึก
      ปัญหาที่เจอคือ ชื่อ file ไม่โชว์ ชื่อ อัตโนมัติ ที่ ช่อง file name ก่อน save ครับ, file excel มีจำนวนมาก ชื่อไม่หมือนกัน เวลา print save เป็น .pdf file เลยอยากลดเวลาการทำงานตรงส่วนนี้ครับ
      ขอบคุณมากครับ

      Sub PrintT()


      ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
      IgnorePrintAreas:=False
      End Sub
      Attached Files

      Comment


      • #4
        ถ้าใช้ชื่อตามไฟล์ excel ลองโค้ดนี้ดูครับ
        Sub PrintAsPdf()
        wsName = Left(ActiveWorkbook.Name, InStr(ActiveWorkbook.Name, ".") - 1)
        ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= wsName, Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= True

        End Sub

        Comment


        • #5
          ขอบคุณ Vajaraphol มากครับ ขอสอบถาม เพิ่มเติม 2 ข้อ เกี่ยวกับ VBAครับ
          1 กรณี print workbook เป็น .pdf จากcode ด้านบนที่ให้ มา ถ้า จะ save as ยกตัวอย่าง print .pdf ไปที่ "drive D" ควรจะเขียน code อย่างไรครับ
          2 ถ้า กรณี print 'pdf เฉพาะ work sheet เราจะเขียน code Vba อย่างไรครับ
          ขอบคุณมากครับ

          Comment


          • #6
            1. Filename:= wsName แก้เป็น Filename:= "D:"&wsName
            2. Code ที่ให้ไปก็ print เฉพาะ Active Sheet นี่ครับ?

            Comment

            Working...
            X