Office 2010 kullanırken aşağıdaki Vba kodu ile Access'teki verileri hazır formatlı bir Excel dosyasına kopyalıyordum. Yani her bir veri satırı için bir düğmeyle talimat oluşturuyordum. Ancak, 2013 yükseltmesinden sonra mevcut kod 9-10-11 satırlarda hata veriyor ve talimat Excel'ine verileri aktarmıyor. Açıkası sorunun nedenini anlayamadım ve yardımcı olabileceğinizi düşündüm.
Konu biraz spesifik bir konu olduğundan gerek yabancı forumlarda gerekse bu forumda benzer bir konu bulamadım ve konu açmaya karar verip bilen birinden yardım talep etmek istedim. Umarım forumda konu kirliliği yaratmamışımdır.
Yardımcı olabilirseniz çok sevinirim.
Kod:
Private Sub Komut332_Click() 'TALİMAT OLUŞTURMA
Dim xlApp As Excel.Application
Dim MyXL As Object
FileCopy "C:\LCW TT\Data\KTDNM.xlsx", "C:\Users\UMIT.BALKAN\Desktop\Talimat " & Ülke & " ID" & Invoice_ID & " " & Kap_Sayısı & " Kap.xlsx"
Set xlApp = CreateObject("excel.application")
Set MyXL = GetObject("C:\Users\UMIT.BALKAN\Desktop\Talimat " & Ülke & " ID" & Invoice_ID & " " & Kap_Sayısı & " Kap.xlsx")
MyXL.Application.Visible = True
MyXL.Application.WindowState = 3
MyXL.Parent.Windows(1).Visible = False
MyXL.Parent.ActiveWindow.WindowState = 2
With MyXL.worksheets(1)
.Range("B4").Value = Acente
.Range("B3").Value = Adı & " " & Soyadı
.Range("E3").Value = Date
.Range("B30").Value = Banka
.Range("B14").Value = Alıcı_Firma_Ünvanı
.Range("B16").Value = Alıcı_Firma_Adresi
.Range("B32").Value = Ödeme_Şekli
.Range("B34").Value = Teslim_Şekli
.Range("D38").Value = Gross_Weight
.Range("D39").Value = Net_Weight
.Range("D40").Value = Kap_Sayısı
.Range("D41").Value = Invoice_ID
.Range("B24").Value = Varış_Yeri
.Range("C43").Value = CI
.Range("C44").Value = PL
.Range("C45").Value = PRL
.Range("C46").Value = CO
.Range("C48").Value = FORMA
.Range("C49").Value = CMR
.Range("C50").Value = AWB
.Range("B54").Value = Talimat_Notları
End With
If CI_Onay = True Then
MyXL.worksheets(1).Range("E43").Value = "<- TİCARET ODASI ONAYLI"
End If
If PRL_Onay = True Then
MyXL.worksheets(1).Range("E45").Value = "<- TİCARET ODASI ONAYLI"
End If
xlApp.ActiveWorkbook.Save
' MyXL.Application.DisplayAlerts = False
' DoCmd.SelectObject acForm, Me.Name</P> <P>OpenEnd:
Set MyXL = Nothing
' xlApp.Quit
Set xlApp = Nothing
End Sub