Skip to main content

AccessTr.neT


VBA Makro ile Access'teki verileri formatlı Excel sayfasına aktarma hatası

VBA Makro ile Access'teki verileri formatlı Excel sayfasına aktarma hatası

#24
Merhaba sayın atoz112;

10806

Harikasınız! Mükemmel bir şekilde çalıştı! Öncelikle size; nezaketiniz, desteğiniz, zamanınız ve ilginiz için çok ama çok teşekkür ederim. Harika bir iş çıkardınız. Gerçi hala nasıl oldu tam anlamadım ama önemli değil. Süpersiniz!

Dediğiniz gibi aşağıdaki kod Office 2013 (64 Bit) için çözüm oldu. Nasıl yapılacağını bilmediğim için yapamadım ama konuyu çözüldü olarak işaretleyebilir miyiz? Belki başkalarına da yardımcı olur...

Konuya bakan, okuyan, yorum yapan herkese de ayrıca teşekkür ederim.


     Dim MyXL As Excel.Application
      Dim strTemplate As String
     
      Dim strOutPut As String
     
      Dim objBook As Excel.Workbook
     
      Dim objSheet As Excel.Worksheet
   
      strTemplate = "buraya_sablon_excel_dosya_adi_yazilacak" 'ornek: Application.ThisWorkbook.Path & "dosya_adi" & ".xlsx"
      strOutPut = "C:\Users\UMIT.BALKAN\Desktop\Talimat " & Ülke & " ID" & Invoice_ID & " " & Kap_Sayısı & " Kap.xlsx"
      If Dir(strOutPut) <> "" Then
      If MsgBox(strOutPut & " exists" & Chr(13) & Chr(10) & _
               "Yeni dosya oluşturmak için mevcut dosya silinecek," & Chr(13) & Chr(10) & _
               " Devam etmek istiyor musunuz?", vbYesNo) = vbNo Then
             Exit Sub
        Else
        Kill strOutut
       End If
      End if
      FileCopy strTemplate, strOutPut
          Set MyXL = New Excel.Application
          MyXL.Visible = True
          Set objBook = MyXL.Workbooks.Open(strOutPut)
          Set objSheet = objBook.Worksheets(1)
          With objSheet
       .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

        objBook.Save
       
     
OpenEnd:
      On Error Resume Next
          Set objSheet = Nothing
          Set objBook = Nothing
          Set MyXL = Nothing
          Exit Sub
         
OpenErr:
          Select Case Err.Number
              Case 1004, 3265
                  Resume Next
              Case Else
                  MsgBox Err.Number & "  -  " & Err.Description, vbCritical, "Critical error: isExcelSetup()"
                  Resume OpenEnd
          End Select

İyi günler,
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da

Bu Konudaki Yorumlar
Cvp: VBA Makro ile Access'teki verileri formatlı Excel sayfasına aktarma hatası - Yazar: balkan85 - 28/09/2016, 15:43
Task