Outlook VBA は初めてで、2 つの異なる閉じたブックの同じセルの値を比較しようとしています。
添付ファイルを CSV ファイルとして保存する電子メールから添付ファイルを受信したときに、Excel オブジェクトを作成しました。
次に、ファイル内のヘッダー行が、最初の行に同じヘッダーを持つマスター コピーと一致することを確認したいのですが、オブジェクトを使用してシート名やセルを参照する方法がわかりません。VBA for Excel を使用してさまざまな方法を試しましたが、Outlook では機能しないようです。
誰かが私を助けることができれば、それは大歓迎です。
Function ConvertXls2CSV(sXlsFile As String)
On Error Resume Next
Dim oExcel As Object
Dim oExcelWrkBk As Object
Dim bExcelOpened As Boolean 'Was Excel already open or not
Dim OriginalFile As String
Dim MasterFile As String
Dim Fault As Integer
Set oExcel = GetObject(, "Excel.Application") 'Bind to existing instance of Excel
If Err.Number <> 0 Then 'Could not get instance of Excel, so create a new one
Err.Clear
On Error GoTo Error_Handler
Set oExcel = CreateObject("excel.application")
bExcelOpened = False
Else 'Excel was already running
bExcelOpened = True
End If
Set oExcelWrkBk = oExcel.Workbooks.Open(sXlsFile)
oExcelWrkBk.SaveAs Left(sXlsFile, InStrRev(sXlsFile, ".")) & "csv", xlCSVWindows
/*THIS IS WHERE I WANT TO REFERENCE THE CELLS IN THE WORKBOOKS*/
OriginalFile = oExcelWrkBk.Sheets("PK Price Data").Cells(1, 1).Value
MasterFile = oExcelWrkBk."MasterFile.xls".Sheets("PK Price Data").Cells(1, 1).Value
if OriginalFile = MasterFile then
fault = 1
else fault = 0
end if
oExcelWrkBk.Close False
If bExcelOpened = False Then
oExcel.Quit
End If
End Function
どうもありがとうメリンダ