Excel'de C:'nin altindaki ismi belirli bir kitap silmek

Katılım
15 Nisan 2006
Mesajlar
9
Selamlar benim C:\musteriler altinda .xls uzantili bircok excel calisma kitaplarim (Workbook) var. Makro ile ismi A1 hucresinde yazili olan workbook'u silmek istiyorum. Yardimci olursaniz sevinirim.

Makro, ornegin; A1 hucresinde Ahmet yaziyorsa C:\musteriler\Ahmet.xls kitabini silecek.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Aşağıdaki kod ile silebilirsiniz. Yalnız bu kodda silinen dosya çöp kutusuna uğramaz direk silinir, bu sebeple geri getiremezsiniz.

[vb:1:ee6cec9e8e]Sub sil()
sor = MsgBox("Dosyayı silmek istediğinizden eminmisiniz?", vbYesNo)
If sor = vbYes Then Kill "C:\" & [a1] & ".xls "
End Sub
[/vb:1:ee6cec9e8e]
 
Katılım
15 Nisan 2006
Mesajlar
9
leventm' Alıntı:
Aşağıdaki kod ile silebilirsiniz. Yalnız bu kodda silinen dosya çöp kutusuna uğramaz direk silinir, bu sebeple geri getiremezsiniz.

[vb:1:10483e61e9]Sub sil()
sor = MsgBox("Dosyayı silmek istediğinizden eminmisiniz?", vbYesNo)
If sor = vbYes Then Kill "C:\" & [a1] & ".xls "
End Sub
[/vb:1:10483e61e9]
Tesekkurler Levent bey, fakat burada silinen dosyanin dcöp kutusuna atilmadan dogrudan imha edilmesi benim acimdan risk yaratabilir. Peki ornegin bu dosyayi silmek yerine dosyayi "C:\" nin altindan alip "C:\sil" altina tasimak mumkun mu? Veya bu dosya adini yeniden adlandirmak mumkun mu?
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Peki ornegin bu dosyayi silmek yerine dosyayi "C:\" nin altindan alip "C:\sil" altina tasimak mumkun mu? Veya bu dosya adini yeniden adlandirmak mumkun mu?
Bu durumda aşağıdaki kodu deneyin.
Dosya hem istediğiniz yere taşınır hemde adı örneğin deneme olarak değiştirilir.

[vb:1:d907631ab1]Name "c:\" & [a1] & ".xls" As "c:\sil\deneme.xls"
[/vb:1:d907631ab1]
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
A1 hücresinde örneğin "ahmet" yazıyorsa, "C:\musteriler\ahmet.xls" dosyasının çöp kutusuna gönderilmesini sağlamak için;

Kod:
Type SHFILEOPSTRUCT
    hwnd As Long
    wFunc As Long
    pFrom As String
    pTo As String
    fFlags As Integer
    fAnyOperationsAborted As Long
    hNameMappings As Long
    lpszProgressTitle As Long
End Type

Declare Function SHFileOperation Lib "shell32.dll" _
        Alias "SHFileOperationA" (lpFileOp As SHFILEOPSTRUCT) As Long

Const FO_DELETE = &H3
Const FOF_ALLOWUNDO = &H40
'
Sub Test()
    Dim SHop As SHFILEOPSTRUCT
    Dim strFile As String
    strFile = "C:\musteriler\" & Range("A1").Text & ".xls"
    With SHop
        .wFunc = FO_DELETE
        .pFrom = strFile
        .fFlags = FOF_ALLOWUNDO
    End With
    SHFileOperation SHop
End Sub
 
Katılım
15 Nisan 2006
Mesajlar
9
leventm,


Levent bey, Name komutu calisti ve isimi gordu. Tesekkurler ancak, Kill komutu ile makroyu calistirdigimda makro calisiyor ancak dosyayi silmiyor.
 
Üst