• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Kod Hata Veriyor: Revize Etmek İçin Yardım

Katılım
3 Haziran 2017
Mesajlar
797
Excel Vers. ve Dili
2007, 32
Arkadaşlar,

Aşağıdaki kod Office 2007'yi kaldırıp tekrar kurduktan sonra hata vermeye
başladı. Hata koduna dair ekran fotoğrafı ektedir.

Sanıyorum eksik bir şeyler var, Tools menüsünde bazı işlemler yapmak gerekiyor ama ne?

Yardımcı olabilir misiniz?


Kod:
Private Sub CommandButton3_Click()

   Application.ScreenUpdating = False
   Application.DisplayAlerts = False
   Set shliste = Sheets("SinifListesi")
   Set shoptik = Sheets("Optik")
   yol = ActiveWorkbook.Path & "\"
   
   sonsatir = shliste.Cells(Rows.Count, "A").End(3).Row
   For i = 2 To sonsatir
      sinif = shliste.Cells(i, 1).Value
      numara = shliste.Cells(i, 2).Value
      ogrenci = shliste.Cells(i, 3).Value
      
      shoptik.Cells(2, "A").Value = sinif
      shoptik.Cells(3, "A").Value = numara
      shoptik.Cells(4, "A").Value = ogrenci
      
        yeniklasor = yol & sinif
      dosya = yeniklasor & "\" & numara

      If Dir(yeniklasor, vbDirectory) = "" Then MkDir yeniklasor

      shoptik.ExportAsFixedFormat Type:=xlTypePDF, Filename:=dosya, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False

   Next i
   Application.ScreenUpdating = True
   Application.DisplayAlerts = True
   
   MsgBox "Optik formlar hazırlandı.", vbInformation, "      Bilgi"

End Sub

 
Son düzenleme:
Nedenini anlamadım ama şu an kod çalışıyor.
Sadece aşağıdaki kısmını değiştirdim ki hatanın
o kısımdan kaynaklı olduğunu sanmıyorum.

Kod:
dosya = yeniklasor & "\" & ogrenci & "_"& numara
 
Aşağıdaki bölüm ile ilgili satırların yerini değiştir kod önce dosya yoluna bakıyor sonrada klasör olup olmadığına bakıyor ve klasör oluşturuyor aslında önce klasör yoluna bakmalı sonrada dosya yoluna

Kod:
dosya = yeniklasor & "\" & numara

If Dir(yeniklasor, vbDirectory) = "" Then MkDir yeniklasor
 
Sanırım dosya adının sonuna .pdf eklemelisin.

Kod:
dosya = yeniklasor & "\" & numara & ".pdf"
 
İlginiz için çok teşekkür ederim.
İki şekilde de denedim, olmadı.
Şu şekilde çalışıyor ama.
İlginç, çalışmayan hali de buydu.

Kod:
Private Sub CommandButton3_Click()

'Beş Seçenek
If OptionButton1 = True Then
 
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Set shliste = Sheets("SinifListesi")
Set shoptik = Sheets("Optik")
yol = ActiveWorkbook.Path & "\"
   
sonsatir = shliste.Cells(Rows.Count, "A").End(3).Row
For i = 2 To sonsatir

sinif = shliste.Cells(i, 1).Value
numara = shliste.Cells(i, 2).Value
ogrenci = shliste.Cells(i, 3).Value
      
shoptik.Cells(2, "Ak").Value = sinif
shoptik.Cells(3, "Ak").Value = numara
shoptik.Cells(4, "Ak").Value = ogrenci
      
yeniklasor = yol & sinif
dosya = yeniklasor & "\" & numara

If Dir(yeniklasor, vbDirectory) = "" Then MkDir yeniklasor

shoptik.ExportAsFixedFormat Type:=xlTypePDF, Filename:=dosya, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False

Next i
Application.ScreenUpdating = True
Application.DisplayAlerts = True
   
MsgBox "Optik formlar hazırlandı.", vbInformation, "      Bilgi"
End If
End Sub
 
Geri
Üst