By Gwentaylor w poniedziałek, 29 marca 2021
Opublikowany w przewyższać
Odpowiedzi 0
Lubi 0
odwiedzajacy 2.8 tysięcy
Głosów 0
Cześć Używam twojego kodu, aby wysłać zakres w programie Excel przez e-mail. Jeśli anuluję zakres, pojawia się błąd czasu wykonywania. Czy można dodać kod lub msgbox, aby temu zapobiec, a także automatycznie dopasować kolumny w załączniku. Część kodu znajduje się poniżej
Podziękowania/media/kunena/emotikony/smile.png

Dim xFile jako ciąg
Przyciemnij xFormat tak długo
Dim Wb jako skoroszyt
Dim Wb2 jako skoroszyt
Dim Ws jako arkusz roboczy
Dim FilePath jako ciąg
Dim FileName As String
Przyciemnij OutlookApp jako obiekt
Przyciemnij OutlookMail jako obiekt
Dim WorkRng jako zakres
xTitleId = "Przykład"
Set WorkRng = Aplikacja.Wybór
Ustaw WorkRng = Application.InputBox("Zakres", xTitleId, WorkRng.Address, Type:=8)

Application.ScreenUpdating = Fałsz
Application.DisplayAlerts = False
Ustaw Wb = Application.ActiveWorkbook
Wb.Arkusze.Dodaj
Ustaw Ws = Application.ActiveSheet
WorkRng.Copy Ws.Cells(1, 1)
Ws.Kopiuj
Ustaw Wb2 = Application.ActiveWorkbook
Wybierz Case Wb.FileFormat
Sprawa xlOpenXMLKsiążka:
    xFile = ".xlsx"
    xFormat = xlOpenXMLWorkbook
Przypadek xlOpenXMLWorkbookMakroWłączone:
    Jeśli Wb2.HasVBProject to
        xFile = ".xlsm"
        xFormat = xlOpenXMLWorkbookMacroEnabled
    Więcej
        xFile = ".xlsx"
        xFormat = xlOpenXMLWorkbook
    End If
Przypadek Excel8:
    xFile = ".xls"
    xFormat = Excel8
Przypadek xlExcel12:
    xFile = ".xlsb"
    xFormat = xlExcel12
End Select
Wyświetl pełny post