Merhaba;
Sayın atoz112,
Alıntı:WindowState ifadesinin olduğu satırlar için,sayısal değerin yerine =xlMaximized ifadesini kullanmak uygun olabilir mi.
dediğiniz gibi yaptım ama maalesef aynı satırda aynı hatayı verdi.
Sayın ozanakkaya,
Öncelikle size de, yorumunuz ve desteğiniz için teşekkür ederim. Ancak maalesef aşağıdaki kod denemesi de aynı sonucu verdi.
MyXL.Application.Visible = True
MyXL.Application.WindowState = 3
MyXL.Parent.Windows(1).Visible = True
MyXL.Parent.ActiveWindow.WindowState = 2
İyi çalışmalar.
Sayın balkan85,
Sadece bir hatırlatma olması adına naçizane bir tavsiye olmak üzere;daha önceki mesajlarda örnek uygulama eklemeniz talep edildiğinde yazılı olan özelliklerde olması istenmiştir.(farazi uydurma bilgiler olması kast edilmiştir).
Fakat,excel uygulamanız incelendiğinde görülmektedir ki;içeriğinde gerçek şahıslara ait mevcut bilgiler yer almaktadır.(telefon,email,adres,v.s.gibi).eğer T.C.Kimlik bilgileri de olsaydı,sanırım bu da dahil olacaktı.
Bu nedenle,eklediğiniz örnek uygulamada yer alan gerek
Excel dosyanızdaki ve gerekse de eğer mevcutsa
Access uygulamanızdaki bu özel bilgileri ya boş bırakmak sureti ile iptal edip içeriğini temizleyiniz ya da bu bilgileri uydurma farazi bilgiler ile değiştiriniz.
Son olarak,bir diğer tavsiye olması adına;uygulamanızda (özellikle,Access uygulamanızda);ille de tablolarınızda tüm kayıtları göstermeniz gerekmemektedir.sadece konudaki taleplerinizin sonuçlarını görebilmek üzere birkaç kayıt (örneğin;4-5 ya da gerekiyorsa 10 kayıt) olması yeterlidir.
Bu önemsiz gibi görünen fakat kendi hallerinde değerlendirildiğinde aslında doğru olması gereken hususlara dair olumlu yaklaşıp uygun görülen düzenlemeleri yapmanız ve uygulamalarınızı yeniden konunuza eklemeniz temennisi ile.elbette ki her zaman olduğu gibi,tercih ve takdir sizindir.
Bilginize…iyi çalışmalar,saygılar.
Sayın atoz112;
Uyarınız için çok teşekkür ederim.
Access dosyasındaki hassass bilgileri sildim ama Excel'dekileri atlamışım. Hemen ilgili mesajdaki ek dosyayı güncelledim. Kusura bakmayın...
Access'teki verileri tekrar kontrol ettim ama veriler eski tarihli olması nedeniyle ve hangisi işleyişi bozabilir emin olamadığım için sadece 2 satır olarak yine bıraktım.
İyi çalışmalar,
Sayın balkan85,
Access'teki verileri tekrar kontrol ettim ama veriler eski tarihli olması nedeniyle ve hangisi işleyişi bozabilir emin olamadığım için sadece 2 satır olarak yine bıraktım.
İfadenize yönelik olarak,Yine bir hatırlatma bilgisi olması adına;
Gerek konu sahipleri ve gerekse de konularınıza katılımcı olacak katılımcılar için,tablolarınızdaki verilerin ne içeriği ve ne de eski bilgiler olması önemli değildir.
Önemli olan;konularınızı açmanıza vesile olan sorunlarınız ya da talepleriniz ile ilgili olarak eklediğiniz örnek uygulamaların incelenmesi aşamalarında sonuçları görebilmek üzere eğer incelemeler neticesinde sonuçların doğru elde edilmesi isteniyorsa - ki bu gerekli olacaktır – o zaman,tablolardaki verilerin olması gerektiği gibi doğru ve boş olmayacak halde dolu olmasını sağlamanız yeterlidir.
Son olarak;
Örnek uygulamanızı inceleyemediğimden dolayı ne yazık ki uygulamanız üzerinden kendi adıma yardımcı olamıyorum.ancak,eğer bazı araştırmalar neticesinde bilgiler edindikçe bunarlı paylaşabiliyorum.
Bilginize…iyi çalışmalar,saygılar.
Sayın balkan85,
Bahsettiğiniz talebinize yönelik olarak;
Yine deneme olarak geçerli olması ve tahmini kodlar sayılması adına,ilgili olay yordamı içerisine aşağıdaki kodları ekleyerek deneyiniz.
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
Bilginize…iyi çalışmalar,saygılar.
Merhaba sayın atoz112;
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,