Soru "Run tıme 76 ve 1004" Uyarıları Hakkında..

yesimgurol

Altın Üye
Katılım
8 Aralık 2011
Mesajlar
942
Excel Vers. ve Dili
Excel 2016,32bit
Altın Üyelik Bitiş Tarihi
18-11-2024
Merhabalar,

Kendi Pc'im de sorunsuz olarak çalışan dosyam, iş yerinde ki pc de çalışmadı:-((
Özellikle Sayın Feraz Bey'e çok teşekkür ederim. Hazırlamış olduğu kod kendi pc'imde çok güzel şekilde çalışmakta. Lakin bugün iş yerinde denemek için açtığımda "run tıme 76" uyarısını aldım ve aşağıdaki kod üzerinde bu uyarı mesajını aldım.

Kod:
Private Sub CommandButton3_Click()

    Dim i As Integer
    
     If Me.TextBox1.Value = "" Or Me.TextBox2.Value = "" Then
        MsgBox "Textbox1 yada Textbox2 bos olamaz.", vbCritical, "Hata."
        Me.TextBox1.SetFocus
        Exit Sub
     End If
    
    Set fso = CreateObject("Scripting.FileSystemObject")
    Application.ScreenUpdating = False
  
     For i = 0 To Me.ListBox2.ListCount - 1
         If fso.FolderExists(Me.TextBox1.Text & "\" & ListBox2.List(i)) Then
            fso.CopyFile ThisWorkbook.Path & "\PDF RAPORLAR\" & ListBox2.List(i) & ".pdf", _
                 Me.TextBox1.Text & "\" & ListBox2.List(i) & "\" & ListBox2.List(i) & ".pdf"
       End If

    Next
    
  Application.ScreenUpdating = True
    Set fso = Nothing

End Sub
Ve şu kısım sarı ile boyalıydı;
Kod:
 If fso.FolderExists(Me.TextBox1.Text & "\" & ListBox2.List(i)) Then

            fso.CopyFile ThisWorkbook.Path & "\PDF RAPORLAR\" & ListBox2.List(i) & ".pdf", _

                 Me.TextBox1.Text & "\" & ListBox2.List(i) & "\" & ListBox2.List(i) & ".pdf"
Kendi bilgisayarımdaki excel 2016 versiyonu. İş yerindeki de aynı fakat ingilizce.
Lakin Türkçe olan başka bir pc de de denedim yine aynı uyarıyı aldım:-(

Sebebi ne olabilir?
 

Ekli dosyalar

Murat OSMA

Altın Üye
Altın Üye
Katılım
23 Mayıs 2011
Mesajlar
5,500
Excel Vers. ve Dili
Microsoft 365 TR-EN
Altın Üyelik Bitiş Tarihi
31-12-2028
Sn. ASKM size yardımcı olacaktır.
Kodlara ve mesajınıza bakarak şunu söyleyebilirim; sizin bilgisayarınızla iş yerinizdeki bilgisayarınızın adı farklı olabilir, ayrıca klasör isimleri de uyuşmayabilir o yüzde run-time 76 yani not found hatasını alırsınız.
 

yesimgurol

Altın Üye
Katılım
8 Aralık 2011
Mesajlar
942
Excel Vers. ve Dili
Excel 2016,32bit
Altın Üyelik Bitiş Tarihi
18-11-2024
Murat Bey, öncelikle cevabınız için çok teşekkür ederim. Evet iş yerimdeki bilgisayar adı farklı, lakin kendi bilgisayarımdaki klasörümü aynı şekilde almıştım.:unsure:
 

Murat OSMA

Altın Üye
Altın Üye
Katılım
23 Mayıs 2011
Mesajlar
5,500
Excel Vers. ve Dili
Microsoft 365 TR-EN
Altın Üyelik Bitiş Tarihi
31-12-2028
Yoldayım şu an tam olarak çözüm için kodu gönderemem fakat Environ("USERPROFILE") dinamik olarak bilgisayarın kullanıcı adını alır.
Environ("USERPROFILE") & "\Desktop" ilave ederseniz her bilgisayarın masaüstü yolunu almış olursunuz.
Hata veren satırlar için bunu bir deneyin.. Ayrıca dediğim gibi klasör ismi de farklı olabilir.

İyi akşamlar.
 

yesimgurol

Altın Üye
Katılım
8 Aralık 2011
Mesajlar
942
Excel Vers. ve Dili
Excel 2016,32bit
Altın Üyelik Bitiş Tarihi
18-11-2024
Yoldayım şu an tam olarak çözüm için kodu gönderemem fakat Environ("USERPROFILE") dinamik olarak bilgisayarın kullanıcı adını alır.
Environ("USERPROFILE") & "\Desktop" ilave ederseniz her bilgisayarın masaüstü yolunu almış olursunuz.
Hata veren satırlar için bunu bir deneyin.. Ayrıca dediğim gibi klasör ismi de farklı olabilir.

İyi akşamlar.
Murat Bey merhabalar,
Alıntı yapmış olduğum mesajınızda "Environ("USERPROFILE") & "\Desktop" önerinize baktığımda demiş olduğunuz kısım dosya isimlerini listeleme kodlarında varmış aslında,
Kod:
Private Sub CommandButton2_Click()

    Dim fDialog As FileDialog
    Dim secLstbox2 As String
    Dim fso As Object
   
    Set fDialog = Application.FileDialog(msoFileDialogFolderPicker)

    ListBox2.Clear

    With fDialog
        .InitialFileName = Environ("Userprofile") & "\Desktop\"
        If .Show = -1 Then
            secLstbox2 = .SelectedItems(1)
            Me.TextBox2.Value = secLstbox2
           
       
        ListBox2.Clear
       
        Set fso = CreateObject("Scripting.FileSystemObject")

            For Each file In fso.GetFolder(CStr(secLstbox2 & "\")).Files
            If fso.GetExtensionName(file) = "pdf" Then
           
             ListBox2.AddItem fso.GetBaseName(CStr(file))
            End If
            Next

        End If
    End With
   
secLstbox2 = vbNullString: Set fso = Nothing

End Sub
Bu kodlar ile belirlediğim klasör içindeki ".pdf" uzantılı dosyaları listeliyorum. Sorunsuz çalışıyor. Lakin ilk mesajımdaki kodlarda "run tıme 76" uyarısını alıyorum. Acaba "Environ("Userprofile") & "\Desktop\" bu kısmı ilk mesajımdaki kodlara nasıl ekleyebilirim.Belki fayda sağlar.
 
Üst