为什么新文件会损坏?

问题描述 投票:0回答:1

我是 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,但文件仍然为空。但这样并没有腐败...... 它只是空的。

excel vba xlsx
1个回答
0
投票

你应该更换

Open ExportFileName For Output As #1

Workbooks.Add
ActiveWorkbook.SaveAs ExportFileName

Open
用于输出到文本文件,通常使用
Write
Print
"hello world", #1
将文本输出到文本文件。

Cells(1,1).Value="Hello World"
将与打开新工作簿一起使用

© www.soinside.com 2019 - 2024. All rights reserved.