[英]change the “Cancel” text on SaveAs Dialog box in excel VBA to “Review”
[英]VBA Excel: Using SaveAs Dialog for Text Files/Custom File Types
我有一個Excel宏,它將特定的字符串寫入文本文件。 問題是,我需要將其另存為自定義文件(“ .us1”)。 我在下面附加我的當前代碼。 我最終對“打開”對話框做了一個怪異的逆轉。 我要怎么做才能將此代碼切換為使用“另存為”對話框?
Private Sub CommandButton2_Click()
Dim fso As New FileSystemObject
Dim stream As TextStream
Dim FilePath As String
Dim ofD As Object
CommandButton2.Height = 53.25
CommandButton2.Width = 83.25
CommandButton2.Left = 222.75
CommandButton2.Top = 508.5
If OptionButton5.Value = True Then
MsgBox "NOTE! This is a bi-phasic script. Every other bit, starting with the first, is a sign bit!!! DISREGARD the graph!!!"
Set ofD = Application.FileDialog(3)
ofD.AllowMultiSelect = False
If ofD.Show = False Then
MsgBox "Script Generation Canceled"
Else
FilePath = ofD.SelectedItems(1)
Set stream = fso.OpenTextFile(FilePath, ForWriting, True)
stream.WriteLine "F3 07 00 31 FA 12 // "
stream.WriteLine "F3 07 00 31 FB " + Cells(27, 2) + " // "
stream.WriteLine "F3 07 00 31 FC 00 // "
stream.WriteLine "F3 25 00 31 FF " + Cells(33, 2) + "// "
stream.WriteLine "F3 07 00 31 FA 13 // "
stream.Close
End If
Else
Set ofD = Application.FileDialog(3)
ofD.AllowMultiSelect = False
If ofD.Show = False Then
MsgBox "Script Generation Canceled"
Else
FilePath = ofD.SelectedItems(1)
Set stream = fso.OpenTextFile(FilePath, ForWriting, True)
stream.WriteLine "F3 07 00 31 FA 10 // "
stream.WriteLine "F3 07 00 31 FB " + Cells(27, 2) + " // "
stream.WriteLine "F3 07 00 31 FC 00 // "
stream.WriteLine "F3 25 00 31 FF " + Cells(33, 2) + "// "
stream.WriteLine "F3 07 00 31 FA 11 // "
stream.Close
End If
End If
End Sub
通過在saveAs對話框中選擇文件路徑,可以解決我的問題。 令人驚訝的是,我的文件過濾器沒有問題。
Private Sub CommandButton2_Click()
Dim fso As New FileSystemObject
Dim stream As TextStream
Dim FilePath As String
Dim saveDialog As Variant
CommandButton2.Height = 53.25
CommandButton2.Width = 83.25
CommandButton2.Left = 222.75
CommandButton2.Top = 508.5
If OptionButton5.Value = True Then
MsgBox "NOTE! This is a bi-phasic script. Every other bit, starting with the first, is a sign bit!!! DISREGARD the graph!!!"
saveDialog = Application.GetSaveAsFilename(FileFilter:="Script Files(*.us1), *.us1")
Set stream = fso.OpenTextFile(saveDialog, ForWriting, True)
stream.WriteLine "F3 07 00 31 FA 12 // "
stream.WriteLine "F3 07 00 31 FB " + Cells(27, 2) + " // "
stream.WriteLine "F3 07 00 31 FC 00 // "
stream.WriteLine "F3 25 00 31 FF " + Cells(33, 2) + "// "
stream.WriteLine "F3 07 00 31 FA 13 // "
stream.Close
Else
saveDialog = Application.GetSaveAsFilename(FileFilter:="Script Files(*.us1),*.us1")
Set stream = fso.OpenTextFile(saveDialog, ForWriting, True)
stream.WriteLine "F3 07 00 31 FA 10 // "
stream.WriteLine "F3 07 00 31 FB " + Cells(27, 2) + " // "
stream.WriteLine "F3 07 00 31 FC 00 // "
stream.WriteLine "F3 25 00 31 FF " + Cells(33, 2) + "// "
stream.WriteLine "F3 07 00 31 FA 11 // "
stream.Close
End If
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.