我有这个用户形式
它是完全功能但我想添加一个功能,将文件发送为.xlsx或.txt,以便我可以从文件中删除宏。
我在互联网上搜索了几天,然后提出了一个程序,我需要制作一个程序来将其保存为另一种格式。我提出的流程如下:
1. .SaveCopyAs
复制(文件名)。(格式相同)
.Open
现有档案
.SaveAs
(FileName)。(任何格式)
并删除SaveCopyAs文件以避免冗余或捕获临时文件以另存为另一种文件格式?单击“确定”按钮后,应保存每个输入并覆盖现有文件。
有人可以告诉我,我是否正确地解决了我的问题?感谢。
答案 0 :(得分:0)
我遇到了类似的问题,我的解决方案是将Sheets复制到新的工作簿中,然后相应地重命名它们并保存具有特定名称的工作簿:
ans = MsgBox("Would you like to export the Report?", vbYesNo)
Select Case ans
Case vbYes
FPath = "C:\...\...\... Daily Report"
FName = "Report" & ".xlsx"
Set NewBook = Workbooks.Add
ThisWorkbook.Sheets("Sheet2").Copy Before:=NewBook.Sheets(1)
ThisWorkbook.Sheets("Sheet3").Copy Before:=NewBook.Sheets(1)
Application.DisplayAlerts = False
'NewBook.Sheets("Sheet1").Delete to delete the first empty sheet on the new workbook
If Dir(FPath & "\" & FName) <> "" Then
MsgBox "File " & FPath & "\" & FName & " already exists"
Else
NewBook.SaveAs Filename:=FPath & "\" & FName
End If
NewBook.Close False
CurrentReport = FPath & "\" & FName
Case vbNo
Exit Sub
End Select
或者,每次用户点击&#34时,都要将数据附加到文本文件中;确定&#34;:
Sub VBA_to_append_existing_text_file()
Dim strFile_Path As String
strFile_Path = "C:\temp\test.txt" ‘Change as per your test folder and exiting file path to append it.
Open strFile_Path For Append As #1
Write #1, "This is my sample text" ' add entered data here
Close #1
End Sub