Malik
Yeni Üye
- Katılım
- 9 Eki 2025
- Mesajlar
- 1
- En iyi yanıt
- 0
- Puanları
- 1
- Yaş
- 42
- Konum
- ESKİŞEHİR
- Ad Soyad
- Muhammed Ali KÖSE
- Office Vers.
- Office 2019
Değerli Forum Üyeleri,
Sizlere hayırlı günler diliyorum.
Birden fazla XML dosyasını aktif sayfaya import eden bir kod buldum. Kodu paylaşan arkadaşımın/büyüğümün affına sığınarak kodu buradan paylaşıyorum.
Kodu çalıştırdığımda ilk XML dosyası import edip, ikincisine başlarken "XML tablosu farklı bir XML eşlmesine bağlı olduğundan işlem tamamlanamıyor" hatası veriyor ve işlem sonlanıyor. Kodun başına "On Error Resume Next" yazıp çalıştırdığımda ise hedef klasördeki dosyaları bir atlayarak içeriye alıyor. Klasörde 100 dosya varsa bir atlayarak import ediyor. 50 adet XML dosyası import edilmiş oluyor.
Nerede yanlış yapıyor olabilirim? Ya da birden fazla XML dosyasını import edebileceğim farklı bir kod var mıdır? Konuyu baya bir araştırdım ama VBA-XML yeni öğrenmeye başladığım bir konu. Yardımlarınız için şimdiden teşekkür ederim.
Sizlere hayırlı günler diliyorum.
Birden fazla XML dosyasını aktif sayfaya import eden bir kod buldum. Kodu paylaşan arkadaşımın/büyüğümün affına sığınarak kodu buradan paylaşıyorum.
Kod:
Sub xlTR_192851_çok_sayıda_xml_dosyayı_aktif_sayfaya_import_etme()
Application.ScreenUpdating = False
Application.DisplayAlerts = False
On Error Resume Next
Dim xmlKlasor As String, xmlDosyalar As String, xmlDosya As String
With Application.FileDialog(msoFileDialogFolderPicker)
.AllowMultiSelect = False
.InitialFileName = ThisWorkbook.Path
If .Show = -1 Then xmlKlasor = .SelectedItems(1) & "\" Else Exit Sub 'klasör seçilmez ise uyarı vermeden makroyu sona erdirir
End With
xmlDosyalar = Dir(xmlKlasor & "*xml")
Do While xmlDosyalar <> ""
xmlDosya = xmlKlasor & xmlDosyalar
ActiveWorkbook.XmlImport Url:=xmlDosya, ImportMap:=Nothing, Overwrite:=True, Destination:=ActiveCell
Selection.End(xlDown).Offset(1).Select 'xml dosyaları başlıkları ile, alt alta bitişik import eder
' Selection.End(xlDown).Offset(2).Select 'xml dosyaları başlıkları ile, alt alta arada 1 boş satır bırakarak import eder
xmlDosyalar = Dir()
Loop
Cells.WrapText = False
End Sub
Kodu çalıştırdığımda ilk XML dosyası import edip, ikincisine başlarken "XML tablosu farklı bir XML eşlmesine bağlı olduğundan işlem tamamlanamıyor" hatası veriyor ve işlem sonlanıyor. Kodun başına "On Error Resume Next" yazıp çalıştırdığımda ise hedef klasördeki dosyaları bir atlayarak içeriye alıyor. Klasörde 100 dosya varsa bir atlayarak import ediyor. 50 adet XML dosyası import edilmiş oluyor.
Nerede yanlış yapıyor olabilirim? Ya da birden fazla XML dosyasını import edebileceğim farklı bir kod var mıdır? Konuyu baya bir araştırdım ama VBA-XML yeni öğrenmeye başladığım bir konu. Yardımlarınız için şimdiden teşekkür ederim.