2017-12-06 1 views
0

다음 R 줄 아래의 코드가 아래쪽을 향하게하여 '구문 오류'가 표시됩니다. 셀 D3에서 찾은 주문 번호를 참조하는 PDF 파일로 열린 워크 시트를 저장하려고합니다. 당신의 도움을 주셔서 감사합니다!Excel 워크 시트를 명령 단추를 사용하여 PDF로 저장하는 방법은 무엇입니까?

Private Sub CommandButton1_Click() 
Dim OrderDate As String, PONumber As String, Vendor As String, ShipTo As String, SKU As String, Path As String, filename As String 
Dim R As Long, LastSKURow As Long, NextDBRow As Long, OFrm As Worksheet, DB As Worksheet 
Set OFrm = Worksheets("Order Form 1") 
Set DB = Worksheets("Database") 
OrderDate = OFrm.Range("B3") 
PONumber = OFrm.Range("D3") 
Vendor = OFrm.Range("B7") 
ShipTo = OFrm.Range("D7") 
LastSKURow = OFrm.Cells(OFrm.Rows.Count, "F").End(xlUp).Row 
For R = 3 To LastSKURow 
    SKU = OFrm.Range("F" & R).Value 
    NextDBRow = DB.Cells(DB.Rows.Count, "A").End(xlUp).Row + 1 
    DB.Range("A" & NextDBRow).Value = OrderDate 
    DB.Range("B" & NextDBRow).Value = PONumber 
    DB.Range("C" & NextDBRow).Value = Vendor 
    DB.Range("D" & NextDBRow).Value = ShipTo 
    DB.Range("E" & NextDBRow).Value = SKU 
Next R 
Application.ScreenUpdating = False 
OFrm.ExportAsFixedFormat Type:=xlTypePDF, _ 
     Path ="C:\PDF\" 
     filename = OFrm.Range("D3") 
     OpenAfterPublish = False 
OFRrm.SaveAs filename:=Path & filename & ".pdf", FileFormat:=xlTypePDF 
End Sub 
+0

filename = OFrm.Range ("D3"). 값 – mooseman

+0

Stijll이 OFrm.SaveAs ... –

+0

으로 시작하는 줄의 구문 오류를 가져 오는 중입니다. D3의 값과 경로 + 파일 이름 + .pdf의 모양을 확인해야 할 수 있습니다. 그것이 지어진 후에. 너무 많거나 충분하지 않은 문제 일 수 있습니다. – mooseman

답변

0

변수 "filename"이 (가) 메소드 키워드 "Filename"과 충돌합니다. ... 다른 당신의 변수 뭔가

OFRrm.SaveAs Filename:= Path & myFile & ".pdf", FileFormat:=xlTypePDF 

전화하거나 아예 인수의 키워드를 제거 :

OFRrm.SaveAs Path & myFile & ".pdf", xlTypePDF 
0

다른 이름으로 저장 라인은 중복입니다. 제대로 작동하려면 ExportAsFixedFormat을 수정하면됩니다. 명명 된 매개 변수를 사용할 때는 = 대신 =를 사용해야합니다. PDF 저장을 위해 새 Sub를 만드는 것이 좋습니다.

Sub SaveOrderAsPDF() 
    Dim PDFName As String 
    PDFName = Worksheets("Order Form 1").Range("D3").Value 
    ChDir "C:\PDF" 
    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _ 
    "C:\PDF\" & PDFName, Quality:=xlQualityStandard, IncludeDocProperties:= _ 
    True, IgnorePrintAreas:=False, OpenAfterPublish:=False 
End Sub 

그 작업을 수행하면 SaveOrderAsPDF를 기존 하위에 추가하기 만하면됩니다.

관련 문제