/ / Przekaż nazwę pliku param z programu outlook do excel - excel-vba, outlook-vba, vba, excel

Przekaż parametr nazwy pliku z programu outlook na excel - excel-vba, outlook-vba, vba, excel

Czy mogę przekazać fileName do makra programu Excel?Dzwonię do postępujesz zgodnie z procedurą programu Outlook? W tej chwili subskryb saveReportstoDisk jest uruchamiany przez regułę programu Outlook i mogę otworzyć mój plik programu Excel. Teraz jestem pewien, jak przekazać parametr fileName z dwóch subskrybentów programu Outlook do sub subskrybenta programu Excel.

Sub saveReportstoDisk(itm As Outlook.MailItem)
Dim objAtt As Outlook.Attachment
Dim fileName As String
Dim saveFolder As String
Dim i As Long
Dim dateFormat

saveFolder = "C:MyFolder"
For Each objAtt In itm.Attachments
fileName = objAtt.fileName
i = i + 1
dateFormat = Format(Now, "YYYY-mm-dd HH_mm_ss")
objAtt.SaveAsFile saveFolder & "" & fileName
Next objAtt

CallExcel

End Sub

Sub CallExcel()
Dim excelApp As Object

Set excelApp = CreateObject("Excel.Application")

excelApp.Visible = True

excelApp.Workbooks.Open "I:ImportGenerator.xlsm"

" run the macro
excelApp.Run "ThisWorkbook.PrepareReport"

excelApp.Quit

Set excelApp = Nothing

End Sub

Odpowiedzi:

2 dla odpowiedzi № 1

Wydaje mi się, że rozumiem, dokąd zmierzasz, ale nie zamierzam stamtąd otwierać pliku. Muszę przekazać sFile do mojego makra programu Excel. - Tourless 29 minut temu

To, czego potrzebujesz, to jest Jak wywołać makra Microsoft Excel, które pobierają parametry

Zakładam, że teraz twoje makro wygląda tak w Excelu

Sub PrepareReport()

End Sub

Zmień na

Sub PrepareReport(sFile As String)
"
"~~> Rest of the code
"
End Sub

A następnie z programu Outlook przekaż nazwę pliku jako

excelApp.Run "ThisWorkbook.PrepareReport", FileName