我只想将ini-File的内容复制到txt文件中。但它告诉我,该许可被拒绝。
这是代码
Sub Kopieren_Ini(strPathQuelle As String, strPathErg As String)
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
Dim oFile As Object
Dim Quelle As String
Dim Ziel As String
If Sheets(1).TxtBoxIni.Text <> "" Then
Quelle = Sheets(1).TxtBoxIni.Text
Else
Quelle = strPathQuelle & "Aly_MitDatum.ini"
'Quelle = strPathQuelle & "Aly_complete.ini"
End If
Set oFile = fso.CreateTextFile(strPathErg & "\" & "Config_Test.txt")
Ziel = strPathErg & "\" & "Config_Test.txt"
FileSystem.FileCopy Quelle, Ziel
提前感谢您的帮助
答案 0 :(得分:2)
听起来像另一个应用程序或进程正在使用
.ini
。还在运行什么?重启后是否还会发生这种情况? (来源:my comment☺)
你的代码不完整(它不是结束)所以我不能肯定地说,但我打赌你的问题是同样的常见错误,因为[imho]几乎是每个投诉的罪魁祸首由VBA代码引起的 Excel崩溃 ...
就像父母一直在告诉孩子一样:
文件已打开(并锁定并占用内存),直到您.Close
为止。
打开的对象需要关闭&amp;清零。强>
尝试将这3行添加到代码的末尾(或者您使用完对象的地方):
oFile.Close
Set oFile = Nothing
Set fso = Nothing
...然后保存您的工作, 重新启动 ,然后再试一次。
如果您只需要复制文件(并且同时重命名),请使用以下命令:
Option Explicit
Sub copyFile()
Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
fso.copyFile "c:\sourcePath\sourceFile.ini", "c:\destinationPath\destFile.txt"
Set fso = Nothing
End Sub
Rob de Bruin:Copying & Moving Files with VBA
MSDN:CopyFile Method