Bir meslektaşım makinesinde bazı kodları yüklemeye çalıştığımda bazı kodlarla ilgili bir sorunum var. Makine ve Outlook sürümü tam olarak aynıdır ve aynı kitaplığa başvurur. Ancak, komut dosyasını makinede çalıştırmayı denediğimde, 'Set xlWB = xlApp.Workbooks.Open (strPath)' üzerinde bir hata 91 oluşturur.Farklı bir makineye yüklemeye çalışırken hata kodu 91
niyet belirtilen bir dizinde bulunan bir Excel elektronik tabloya seçilen bir e-posta iletisinin gerekli verileri ihraç etmektir.
Hatayı gidermek için ne denemeliyim diye bir ipucu var mı? Aşağıdaki kodun ilk yarısı.
Çok teşekkürler!
Option Explicit
Sub ServiceRequestTool()
Dim xlApp As Object
Dim xlWB As Object
Dim xlSheet As Object
Dim rCount As Long
Dim bXStarted As Boolean
Dim enviro As String
Dim strPath As String
Dim currentExplorer As Explorer
Dim Selection As Selection
Dim olItem As Outlook.MailItem
Dim obj As Object
Dim strColA, strColB, strColC As String
strPath = "H:\My Documents\General Docs\Govtnz-Service-Request.xlsm"
On Error Resume Next
Set xlApp = GetObject(, "Excel.Application")
If Err <> 0 Then
If Dir$("H:\My Documents\General Docs\Govtnz-Service-Request.xlsm") = "" Then
MsgBox "Contact the spreadsheet administrator for assistance.", vbOKOnly + vbCritical, "File not found!"
Exit Sub
End If
End If
On Error GoTo 0
Set xlWB = xlApp.Workbooks.Open(strPath)
Set xlSheet = xlWB.Sheets("requestAssignment")
On Error Resume Next
rCount = xlSheet.Range("C" & xlSheet.Rows.Count).End(-4162).Row + 1
Set currentExplorer = Application.ActiveExplorer
Set Selection = currentExplorer.Selection
For Each obj In Selection
Set olItem = obj
strColA = olItem.SenderName
strColB = olItem.SenderEmailAddress
strColC = olItem.ReceivedTime
xlSheet.Range("B" & rCount) = strColC
xlSheet.Range("C" & rCount) = strColA
xlSheet.Range("D" & rCount) = strColB
rCount = rCount + 1
Next
xlWB.Close 1
If bXStarted Then
xlApp.Quit
End If
Set olItem = Nothing
Set obj = Nothing
Set currentExplorer = Nothing
Set xlApp = Nothing
Set xlWB = Nothing
Set xlSheet = Nothing
End Sub
Olası yinelenen [VBA: Çalışma zamanı hatası '91'] (http://stackoverflow.com/questions/18927297/vba-run-time-error-91) – Marged
Sabit kodlanmış dosya yolları diğer makinede erişilebilir mi? – Comintern
İş arkadaşlarınızdaki 'H' sürücüsü, sizinkiyle aynı 'H' sürücüsünü kullanıyor mu? Bunun yerine UNC adını kullanın (ör. \\ MyServerName \ MyFolder \). Ayrıca 'GetObject' kontrol edin - Siddarth onun cevabında özetliyor. Düzenle - çizin, bunu 'Dir' ile kontrol edin. –