• DİKKAT

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

  • Forum yazılımı güncelenmiştir.

    Beklenmedik durumlar görürseniz lütfen yönetime iletin.

Masaüstü yol

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,431
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Arkadaşlar, sayın hocalarım belki çok basit gelecek ama mutlaka bir yerde hata yapıyorum.
Bir dosyam var. İş yerindeki arkadaşlar da kullanacak.
RAPORLAR diye başladığı tamam.
Ancak herkesin "MASAÜSTÜ" yolu farklı. Mesela bende
ChDir "C:\Users\muratgunay48\Desktop\RAPORLAR\ALINAN RAPORLAR"
Bunu hiç uğraşmadan her masaüstüne yol olacak şekilde nasıl revize edebilirim?
Teşekkür ederim.
Saygılarımla.
 
Kod:
Dim masaustu As String
Dim yol As String
masaustu = CreateObject("WScript.Shell").SpecialFolders("Desktop")
yol = masaustu & "\RAPORLAR\ALINAN RAPORLAR"
ChDir yol

Bu kodu kim açarsa açsın:
kendi kullanıcı hesabının masaüstünü bulur
sonra RAPORLAR\ALINAN RAPORLAR klasörüne gider

daha kısa hali
Kod:
ChDir CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\RAPORLAR\ALINAN RAPORLAR"

klasör yoksa hata vermesin dersen
Kod:
Dim masaustu As String
Dim yol As String

masaustu = CreateObject("WScript.Shell").SpecialFolders("Desktop")
yol = masaustu & "\RAPORLAR\ALINAN RAPORLAR"

If Dir(yol, vbDirectory) <> "" Then
    ChDir yol
Else
    MsgBox "Klasör bulunamadı: " & yol, vbExclamation
End If

senin örneğin birebir revize şöyle olur
Kod:
ChDir CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\RAPORLAR\ALINAN RAPORLAR"
 
Kod:
Dim masaustu As String
Dim yol As String
masaustu = CreateObject("WScript.Shell").SpecialFolders("Desktop")
yol = masaustu & "\RAPORLAR\ALINAN RAPORLAR"
ChDir yol

Bu kodu kim açarsa açsın:
kendi kullanıcı hesabının masaüstünü bulur
sonra RAPORLAR\ALINAN RAPORLAR klasörüne gider

daha kısa hali
Kod:
ChDir CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\RAPORLAR\ALINAN RAPORLAR"

klasör yoksa hata vermesin dersen
Kod:
Dim masaustu As String
Dim yol As String

masaustu = CreateObject("WScript.Shell").SpecialFolders("Desktop")
yol = masaustu & "\RAPORLAR\ALINAN RAPORLAR"

If Dir(yol, vbDirectory) <> "" Then
    ChDir yol
Else
    MsgBox "Klasör bulunamadı: " & yol, vbExclamation
End If

senin örneğin birebir revize şöyle olur
Kod:
ChDir CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\RAPORLAR\ALINAN RAPORLAR"


Hocam, öncelikle teşekkür ederim.
Tam olarak şöyle. Dosya açacak ve kayıt yapacak

Şu şekilde bitiyor

ChDir "C:\Users\muratgunay48\Desktop\RAPORLAR\ALINAN RAPORLAR"
ActiveWorkbook.SaveAs Filename:= _
"C:\Users\muratgunay48\Desktop\RAPORLAR\ALINAN RAPORLAR\DETAYLI RAPOR.xlsx", _
FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False

Bunun yerine

ChDir CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\RAPORLAR\ALINAN RAPORLAR"
ActiveWorkbook.SaveAs Filename:= _
ChDir CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\RAPORLAR\ALINAN RAPORLAR\DETAYLI RAPOR.xlsx", _
FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False

Şeklinde değiştirsek tamam mıdır?
 
Merhaba.
Alternatif olsun.

Kod:
"C:\Users\muratgunay48\Desktop\RAPORLAR\ALINAN RAPORLAR"

Yukardaki adresin aynısını döndürür.
Kod:
Environ("USERPROFILE") & "\Desktop\RAPORLAR\ALINAN RAPORLAR "
 
Merhaba.
Alternatif olsun.

Kod:
"C:\Users\muratgunay48\Desktop\RAPORLAR\ALINAN RAPORLAR"

Yukardaki adresin aynısını döndürür.
Kod:
Environ("USERPROFILE") & "\Desktop\RAPORLAR\ALINAN RAPORLAR "

Hocam şöyle hata alıyorum.

Ekran görüntüsü 2026-03-06 163706.png

Hocam başına ChDir koymayı unutmuşum. Özür dilerim. Tekrar teşekkür ederim.
 
Son düzenleme:
Chdir kullanmadan isterseniz aşağıdaki gibi yapabilirsiniz.
Siz bir tane tırnak işareti fazladan koyduğunuz için hata veriyor
Kod:
Sub DosyaAc_2()
    Workbooks.Open Filename:=Environ("USERPROFILE") & "\Desktop\RAPORLAR\ALINAN RAPORLAR\ÇEVRE TV.xlsx"
End Sub


Chdir kullanacaksanız aşağıdaki gibi yapabilirsiniz.
Kod:
Sub DosyaAc_1()
    ChDir Environ("USERPROFILE") & "\Desktop\RAPORLAR\ALINAN RAPORLAR"
    Workbooks.Open Filename:="ÇEVRE TV.xlsx"
End Sub

Not: Chdir varsayılan klasör adresini değiştirmek için kullanılır.
 
Kod:
Dim masaustu As String
Dim yol As String
masaustu = CreateObject("WScript.Shell").SpecialFolders("Desktop")
yol = masaustu & "\RAPORLAR\ALINAN RAPORLAR"
ChDir yol

Bu kodu kim açarsa açsın:
kendi kullanıcı hesabının masaüstünü bulur
sonra RAPORLAR\ALINAN RAPORLAR klasörüne gider

daha kısa hali
Kod:
ChDir CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\RAPORLAR\ALINAN RAPORLAR"

klasör yoksa hata vermesin dersen
Kod:
Dim masaustu As String
Dim yol As String

masaustu = CreateObject("WScript.Shell").SpecialFolders("Desktop")
yol = masaustu & "\RAPORLAR\ALINAN RAPORLAR"

If Dir(yol, vbDirectory) <> "" Then
    ChDir yol
Else
    MsgBox "Klasör bulunamadı: " & yol, vbExclamation
End If

senin örneğin birebir revize şöyle olur
Kod:
ChDir CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\RAPORLAR\ALINAN RAPORLAR"

Hocam çok teşekkür ederim.
Chdir kullanmadan isterseniz aşağıdaki gibi yapabilirsiniz.
Siz bir tane tırnak işareti fazladan koyduğunuz için hata veriyor
Kod:
Sub DosyaAc_2()
    Workbooks.Open Filename:=Environ("USERPROFILE") & "\Desktop\RAPORLAR\ALINAN RAPORLAR\ÇEVRE TV.xlsx"
End Sub


Chdir kullanacaksanız aşağıdaki gibi yapabilirsiniz.
Kod:
Sub DosyaAc_1()
    ChDir Environ("USERPROFILE") & "\Desktop\RAPORLAR\ALINAN RAPORLAR"
    Workbooks.Open Filename:="ÇEVRE TV.xlsx"
End Sub

Not: Chdir varsayılan klasör adresini değiştirmek için kullanılır.

Bu daha pratik oldu hocam. Teşekkür ederim.
 
Kod:
Dim masaustu As String
Dim yol As String
masaustu = CreateObject("WScript.Shell").SpecialFolders("Desktop")
yol = masaustu & "\RAPORLAR\ALINAN RAPORLAR"
ChDir yol

Bu kodu kim açarsa açsın:
kendi kullanıcı hesabının masaüstünü bulur
sonra RAPORLAR\ALINAN RAPORLAR klasörüne gider

daha kısa hali
Kod:
ChDir CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\RAPORLAR\ALINAN RAPORLAR"

klasör yoksa hata vermesin dersen
Kod:
Dim masaustu As String
Dim yol As String

masaustu = CreateObject("WScript.Shell").SpecialFolders("Desktop")
yol = masaustu & "\RAPORLAR\ALINAN RAPORLAR"

If Dir(yol, vbDirectory) <> "" Then
    ChDir yol
Else
    MsgBox "Klasör bulunamadı: " & yol, vbExclamation
End If

senin örneğin birebir revize şöyle olur
Kod:
ChDir CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\RAPORLAR\ALINAN RAPORLAR"
Hocam dosya direk masaüstünde ise şu şekilde nasıl revize edilir, doğru mudur?

Sub test4()
'Dosya yoksa hata vermesin

Dim masaustu As String
Dim yol As String

masaustu = CreateObject("WScript.Shell").SpecialFolders("Desktop")
yol = masaustu & "\AAA"

If Dir(yol, vbDirectory) <> "" Then
ChDir yol

Workbooks.Open Filename:="TEST.xlsx"

Else
MsgBox "Klasör bulunamadı: " & yol, vbExclamation
End If

End Sub
 
Son düzenleme:
Geri
Üst