• DİKKAT

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

Çalışma kitabının isminini makro ile değiştirme

leumruk

Uzman
Uzman
Katılım
15 Nisan 2007
Mesajlar
3,472
Excel Vers. ve Dili
Office 2010 & 2013 tr
Selamlar...
Çalışma kitabının ismini makro kodu ile nasıl değiştirebiliriz?
Saygılar...
 
Selamlar,

Eğer kapalı bir dosyanın adını değiştirmek istiyorsanız aşağıdaki linki inceleyiniz.

http://www.excel.web.tr/f48/klasordeki-dosyalar-excelden-adland-rabilirmiyiz-t43874.html


Örnek olarak aşağıdaki kod yapısınıda kullanabilirsiniz. (Adı değişecek dosya kapalı olmalıdır.)

Kod:
Option Explicit
 
Sub Dosya_Adı_Değiştir()
    Name ("C:\Documents and Settings\Admin\Desktop\Kitap1.xls") As ("C:\Documents and Settings\Admin\Desktop\Deneme.xls")
End Sub
 
Korhan hocam,
Thisworkbook olarak olmuyor mu? Amacım çalışma kitabımın adının değiştirilmesini engellemek.
Açılış koduna veya kapanış koduna belirlediğim ismi yazacağım, böylelikle ismi kimse değiştiremeyecek.
Bu durumda ismi dosya açıkken değiştirmesi gerekiyor.
 
Merhba
modüle
auto_open
thisworkbookname="selami"
end sub
auto_close
thisworkbookname="selami"
end sub
 
Kamil Bey,
Maalesef sonuç olumsuz. Siz de çalıştı mı? Ben mi bir yerde yanlışlık yaptım.
 
ThisWorkbook sınıfının "Name" özelliği sadece değer döndürebilir, değiştirilemez.
 
selam

Sub auto_open()
Range("a1").Value = ThisWorkbook.Name
Range("a1").Value = Mid(Range("a1").Value, 1, Len(Range("a1").Value) - 4)

'değişen hücre
Range("f2") = Range("f2") + 10
End Sub

've eklenen kod

Sub auto_close()
Range("a2") = Range("f2")
ActiveWorkbook.SaveAs ThisWorkbook.Path & "\" & Range("A2").Value & ".xls"
Kill ThisWorkbook.Path & "\" & Range("a1") & ".xls"
End Sub
 
Son düzenleme:
Selamlar,

Ekteki örnek dosyayı incelermisiniz. Dosyanın adı ÖRNEK siz dosyayı indirdikten sonra ismini değiştirip açmayı deneyin.

Not : Kodun içinde dosya yolunu kendi sisteminize göre değiştirmeyi unutmayınız.

Kod:
Option Explicit
 
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    If Replace(ThisWorkbook.Name, ".xls", "") <> "ÖRNEK" Then
    MsgBox "Dosyanız - ÖRNEK - adıyla kaydedilecektir !", vbInformation
    Application.DisplayAlerts = False
    ThisWorkbook.SaveAs ([COLOR=red]"C:\Documents and Settings\COST1\Desktop"[/COLOR] & "\ÖRNEK.xls")
    If Excel.Application.Windows.Count > 1 Then
    ThisWorkbook.Close 0
    Else
    ThisWorkbook.Save
    Application.Quit
    End If
    Application.DisplayAlerts = True
    End If
End Sub
 
Private Sub Workbook_Open()
    If Replace(ThisWorkbook.Name, ".xls", "") <> "ÖRNEK" Then
    MsgBox "Lütfen dosyanın adını - ÖRNEK - olarak değiştiriniz !" & vbCrLf & "Aksi halde dosyayı sağlıklı şekilde kullanamayacaksınız !", vbCritical
    If Excel.Application.Windows.Count > 1 Then
    ThisWorkbook.Close 0
    Else
    ThisWorkbook.Save
    Application.Quit
    End If
    End If
End Sub
 

Ekli dosyalar

Geri
Üst