我是 VBA 新手,这周开始学习它,所以跟我一起吧;)
我希望代码能够执行以下操作: 当我启动宏时,我想创建一个新文件,并让用户选择在什么位置。这部分有效。
我希望文件以当前日期和项目编号命名。这部分有效(我认为......稍后会详细介绍) 之后,我想打印一个带有 Hello world 的单元格。我不知道这部分是否有效,因为我无法打开该文件。它已损坏。
'*************************************************************************************************************************************************************************************
'* Folder creater.
'*************************************************************************************************************************************************************************************
Option Explicit
Sub Acto_Export()
Dim sFolder As String
Dim ws As Worksheet
Set ws = ThisWorkbook.Sheets("Systems")
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show = -1 Then ' if OK is pressed
sFolder = .SelectedItems(1)
End If
End With
If sFolder = "" Then ' if an error occured
MsgBox ("no folder was selected")
Exit Sub
End If
Dim ProjectNumber As String
ProjectNumber = Blad1.Cells(8, 4).Value
Dim ExportFileName As String
ExportFileName = sFolder & "\" & Format(Now, "yyyy-MM-dd_HHmmss_") & ProjectNumber & "_importfileActo.xlsx"
Open ExportFileName For Output As #1
Cells(1, 1).Value = "Hello world"
End Sub
我认为问题出在文件的命名上,但我无法弄清楚。我尝试将其导出为 .TXT 文件并让它只打印 hello world,但文件仍然为空。但这样并没有腐败...... 它只是空的。
你应该更换
Open ExportFileName For Output As #1
与
Workbooks.Add
ActiveWorkbook.SaveAs ExportFileName
Open
用于输出到文本文件,通常使用 Write
或 Print
"hello world", #1
将文本输出到文本文件。
Cells(1,1).Value="Hello World"
将与打开新工作簿一起使用