簡體   English   中英

Excel VBA代碼-如何對創建的文件調用某些操作

[英]Excel VBA Code - How to call certain actions to files created

我正在Excel VBA中編寫一段代碼,其中需要創建一個宏,該宏允許用戶單擊ActiveX按鈕,然后將文件保存到指定位置。 創建此新文件后,我要進行編碼,以便新文件(已成功保存在備用指定位置)沒有ActiveX命令按鈕。 另外,一旦從原始文件中單擊按鈕,我就想以某種方式關閉主文件,並使新保存的文件自動打開。 請有人幫忙嗎?

到目前為止的代碼:

Sub CommandButton1_Click()

    ActiveSheet.Copy
    Dim SaveName As String
    SaveName = ActiveSheet.Range("C1").Text
    With ActiveWorkbook
    .SaveAs "File path Specified" & _
    SaveName & ".xls"
    .Close 0
    End With

End Sub

我的第一個解決方案(取決於您的實際需求)如下:

首先,您將需要以下內容:

Me.SaveCopyAs "<full_Path>"

在此處查看更多信息: https : //msdn.microsoft.com/en-us/library/office/ff835014.aspx

這將使用您想要的任何名稱將文件的副本創建到指定路徑。 在執行此操作之前,您可以隱藏按鈕,然后使用“另存為副本”在按鈕隱藏的情況下進行保存。

最后,如果您要關閉原件並打開副本,則必須給副本一個不同的名稱。 然后打開新文件並關閉原始文件。

您的代碼應類似於以下內容:

Sub CommandButton1_Click()
    ActiveSheet.Copy
    Dim SaveName As String
    SaveName = ActiveSheet.Range("C1").Text
    With ActiveWorkbook
        .Worksheets("<your_worksheet>").CommandButton1.visible = False
        .SaveCopyAs "File path Specified" & SaveName & ".xls"
    End With
    Workbooks.Open ("File path Specified" & SaveName & ".xls")
    Workbooks("<Original_name.xlsm>").close False
End Sub

另一個解決方案可能是使用SaveAs保存工作簿。 在此之前保存原始。 隱藏按鈕。 saveas將關閉原始文件並自動打開新文件。

您的代碼應如下所示:

Sub CommandButton1_Click()
    ActiveSheet.Copy
    Dim SaveName As String
    SaveName = ActiveSheet.Range("C1").Text
    With ActiveWorkbook
        .Save
        .Worksheets("<your_worksheet>").CommandButton1.visible = False
        .SaveAs "File path Specified" & SaveName & ".xls"
    End With
End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM