簡體   English   中英

兩個消息框返回

[英]Two message box returns

請幫助我編輯此代碼。 我有一個Excel工作簿,我需要將其保存為xlsm文件和PDF格式的文件夾。 在我的電子表格上添加了所有需要輸入的信息以使用范圍作為參考並選擇文件保存的文件夾之后,然后出現了消息框“ Kon nie document stoor nie”。 彈出。 如果保存成功,則僅顯示消息框“ Copy Gemaak”! 謝謝您的幫助!

Sub Combined()

    Dim ws As Worksheet
    Dim strPath As String
    Dim myFile As Variant
    Dim strFile As String
    Dim fileSaveName As String
    On Error GoTo errHandler

     fileSaveName = Application.GetSaveAsFilename("Kwotasie - " &       Range("H14").Value)
    If VarType(fileSaveName) = vbBoolean Then Exit Sub


    ' Save as XLSM
    ActiveWorkbook.SaveAs Filename:=fileSaveName & ".xlsm", FileFormat:= _
    xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False

    ' Save as PDF
    Range("a1:I51").ExportAsFixedFormat Type:=xlTypePDF, Filename:=fileSaveName _
        , Quality:= _
        xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _     
        OpenAfterPublish:=False

       If myFile <> "False" Then
        ws.ExportAsFixedFormat _
            Type:=xlTypePDF, _
            Filename:=myFile, _
              Quality:=xlQualityStandard, _
             IncludeDocProperties:=True, _
             IgnorePrintAreas:=False, _
              OpenAfterPublish:=False

           MsgBox "Copy gemaak."

         End If

       exitHandler:
          Exit Sub
      errHandler:
         MsgBox "Kon nie dokumente stoor nie."
          Resume exitHandler

End Sub

如果我正確地閱讀了您的問題,則可能是您的宏僅顯示了“ Kon nie dokumente stoor nie”的MsgBox

假設是正確的,由於VBA處於混亂狀態,很難說出問題出在哪里。 最好的猜測是,由於您從未設置過ws ,因此保存工作表的嘗試將調用errHandler

在這種情況下,您需要進行一些清理:

  1. 您應該只聲​​明FileSaveName並將其用作字符串。 如果有任何方法將其設置為布爾值,似乎會發生一些奇怪的事情(至少基於到目前為止您告訴我們的內容)。
  2. 擺脫Exit Handler 它使用的唯一地方是如果將其放置到ErrHandler 如果發生這種情況,則在代碼末尾的End Sub可以很好地關閉所有內容,根本不需要使用Exit Sub
  3. 在您的第一個End If之后添加End If If
  4. 使用縮進顯示哪些代碼取決於If語句

詳細說明我的答案; 鑒於以上所有內容,我有點在暗中myFile刺,但看起來myFile永遠不應為"False"if應該將myFile轉換為字符串,並且由於從未設置變量,因此其值為"" )。 因此,在這種情況下,將使用將ws另存為PDF的嘗試,但由於也從未設置過ws ,因此嘗試失敗,這意味着Excel不知道您要保存的內容。 因此,您被踢到errHandler

希望能有所幫助。 如果不是,請詳細說明您所看到的行為,並在可能的情況下,使用清理后的代碼更新原始問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM