copyfile ini到txt:permission-denied

时间:2018-02-23 12:15:11

标签: vba access permission-denied file-copying

我只想将ini-File的内容复制到txt文件中。但它告诉我,该许可被拒绝。

  • 源文件已关闭
  • Ini-file" Aly_complete.ini"以前是通过" java -jar"
  • 在代码中执行的
  • 如您所见,我已经尝试了另一个文件,该代码未被代码使用

这是代码

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

提前感谢您的帮助

1 个答案:

答案 0 :(得分:2)

  

听起来像另一个应用程序或进程正在使用.ini。还在运行什么?重启后是否还会发生这种情况? (来源:my comment☺)

你的代码不完整(它不是结束)所以我不能肯定地说,但我打赌你的问题是同样的常见错误,因为[imho]几乎是每个投诉的罪魁祸首由VBA代码引起的 Excel崩溃 ...

就像父母一直在告诉孩子一样:

"IF YOU OPEN IT, CLOSE IT!"

文件已打开(并锁定并占用内存),直到您.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

更多更多信息: