Я пытаюсь сохранить каждый .xls-файл в папке в виде текста, используя Access VBA. Я закрепил код ниже. Тем не менее, он только успешно сохраняет 1-й файл excel в виде текста, а затем он, кажется, виснет.Преобразование файлов Excel в текст с помощью Access VBA
Я рассмотрел это сообщение, которое, как я думаю, достигает чего-то похожего на то, что я хочу: HERE. Но я был так долго, что ничего не имеет смысла! Есть идеи? Он застревает на ActiveWorkbook.Close
?
Public Sub FormatAsText()
Dim myfile As String
Dim xlApp As Excel.Application
Dim xlWB1 As Excel.Workbook
Dim objFso As FileSystemObject
Dim strPath As String
Dim objFolder As Folder
Dim objFile As File
Set xlApp = New Excel.Application
strPath = "C:FolderLocation..."
Set objFso = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFso.GetFolder(strPath)
myfile = Dir(strPath & "\*.xls")
For Each objFile In objFolder.Files
If objFile.Name Like "*.xls" Then
Workbooks.Open objFile, ReadOnly:=False
ActiveWorkbook.SaveAs FileName:=strPath & "\" & Replace(myfile, ".xls", ".txt"), FileFormat:=xlTextWindows
ActiveWorkbook.Close
End If
Next objFile
Debug.Print myfile
Set xlApp = Nothing
Set xlWB1 = Nothing
Set objFso = Nothing
Set objFolder = Nothing
Set objFile = Nothing
End Sub
Добавить 'xlApp.Visible = True' после' Set xlApp = New Excel.Application'. Когда вы запускаете код с этим изменением, есть ли какая-либо информация, отображаемая в Excel, которая объясняет проблему? – HansUp
Спасибо HansUp. После этого я вижу, что он открывает 1-й файл excel, сохраняет его как текст, затем закрывает файл excel. Затем он открывает файл второй секунды, форматирует его как текст, но пытается сохранить его с тем же именем, что и 1-й текстовый файл. («Файл уже существует ... Вы хотите его заменить?»). Какие-либо предложения? – mccdo