Mengambalikan nama file seperti semula

  1. 3 bulan yang lalu
    Di sunting 3 bulan yang lalu oleh bejo

    selamat sore master @Caton and Team BE.Org
    saya belajar mengembalikan nama file (jika nama file dirubah) dengan teks yang ada pada sheet, dengan menggunakan variable, tapi kq ya gk jadi2 master, help me plisssssss
    thanks alot before

    Private Sub SisipkanMacro(ByRef WB As Workbook)
    Dim xComp As VBIDE.VBComponent
    Dim xCode As VBIDE.CodeModule
    Dim sScript As String

    sScript = vbNullString
    sScript = sScript & "Option Explicit" & vbCrLf & vbCrLf

    sScript = sScript & "Public Sub Auto_Close()" & vbCrLf
    sScript = sScript & "Dim namaFile As string" & vbCrLf
    sScript = sScript & "namaFile = sheets" & "(""Formx"")" & ".range" & "(""o10"")" & ".value" & vbCrLf

    sScript = sScript & "If ThisWorkbook.Name <> namaFile than" & vbCrLf

    sScript = sScript & "ThisWorkbook.Name=namaFile" & vbCrLf
    sScript = sScript & "Endif" & vbCrLf
    sScript = sScript & "ThisWorkbook.Save" & vbCrLf

    sScript = sScript & "End Sub" & vbCrLf
    Set xComp = WB.VBProject.VBComponents.Add(vbext_ct_StdModule)
    xComp.Name = "modMain"
    Set xCode = xComp.CodeModule
    xCode.InsertLines xCode.CountOfLines + 1, sScript

    End Sub

  2. Caton

    Apr 1 Terverifikasi Indonesia + 18.633 Poin
    Di sunting 3 bulan yang lalu oleh Caton

    Mas @bejo ...

    Kesalahan pertama :

    image_2022-04-01_173135929.png

    seharusnya Then bukan than.

    Kesalahan kedua :

    image_2022-04-01_173818825.png

    ThisWorkbook.Name merupakan properti ReadOnly yang tidak bisa diubah. Ubah saja seperti ini :

    Option Explicit
    
    Public Sub Auto_Close()
        Dim namaFile As String
        
        namaFile = Sheets("Formx").Range("o10").Value
        If ThisWorkbook.Name <> namaFile Then
            '+-- Salah! ThisWorkbook.Name = namaFile
            Dim sOldName As String
            
            sOldName = ThisWorkbook.FullName
            ThisWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & namaFile
            Kill sOldName
        Else
            ThisWorkbook.Save
        End If
    End Sub

    Demikian.

  3. Di sunting 3 bulan yang lalu oleh bejo

    terima kasih banyak master, I dont know what to say anymore, bisanya cuma bilang
    TERIMA KASIH BANYAAAAAAAAAAAAAKKKKKKKKKKK Mr. @CATON

    ThisWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & namaFile
    Kill sOldName

    apakah save as ini berarti membuat file baru dengan nama file awal dan menghapus file yg sudah direname master??

  4. Caton

    Apr 2 Terverifikasi Indonesia + 18.633 Poin

    Mas @bejo ...

    ... apakah save as ini berarti membuat file baru dengan nama file awal dan menghapus file yg sudah direname ...

    Ya, memang begitu tujuannya. Kita tidak bisa mengubah nama Workbook saat Workbook tersebut sedang dibuka (aktif), maka alternatifnya simpan dahulu Workbook dengan nama lain kemudian hapus Workbook yang menggunakan nama lama.

    Demikian.

  5. Di sunting 3 bulan yang lalu oleh bejo

    "tidak bisa mengubah nama Workbook saat Workbook tersebut sedang dibuka (aktif), "

    i get the point, but

    ThisWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & namaFile
    perintah ini lgsung save, tanpa persetujuan :)

    Kill sOldName
    saya cari di kotak sampah tidak ada file yg terhapus, beda ya sama delete??

    btw, thank you so so so much Mr. @Caton
    this is free, and I get from you

 

atau Mendaftar untuk ikut berdiskusi!