【问题标题】:Path/File Access error Runtime 75 - VBA路径/文件访问错误运行时 75 - VBA
【发布时间】:2017-07-12 21:26:54
【问题描述】:

这是我得到帮助的上一个问题的延续。我试图组合 2 个子例程,以便创建的文本文件最后删除空格。查看下面的代码,我在行上得到一个路径文件错误 - 在文件中打开输入为 #1

经过调试,我可以看到存储在 strFile 中的文件名在调用第二个例程时消失了。任何人都可以看到我的错误是为什么这样做并帮助我解决它吗? AltText_V2 是第二个例程。我已更新代码以仅包含问题所在的部分

 Option Explicit

  Public Sub AltText_V2()
  Dim inFile As String
  Dim outFile As String
  Dim data As String
  Dim strFile As String

  'Ensures that the file open directory is always the same
  ChDir "S:\MERIT OUTPUTS FOLDER\MSI Recruitment Limited\"

 'inFile = Application.GetOpenFilename
  inFile = strFile
  Open inFile For Input As #1

  outFile = inFile & ".txt"
  Open outFile For Output As #2

  Do Until EOF(1)
  Line Input #1, data

  If Trim(data) <> "" Then
     Print #2, data
  End If
  Loop

  Close #1
  Close #2

  Kill inFile
  Name outFile As inFile

  MsgBox "File alteration completed!"
  End Sub

【问题讨论】:

  • 请阅读:stackoverflow.com/help/mcve - 并考虑将问题中的代码量减少到您正在处理的问题。
  • @Robin Mackenzie,我已经更新了代码,我希望它现在在指导方针之内好一点
  • 这更具可读性 - 我注意到您没有为 strFile 分配值 - 您是否缺少类似 strFile = "YourFile.foo" 的内容?
  • @Robin Mackenzie strFile 的值作为另存为的一部分在第一个子例程中被拾取对于创建的初始文本文件但是当它在第二个例程中被拾取时它消失了...
  • 也许你想将strFile 变量传递给AltText_V2Sub AltText_V2(strFile As String),然后去掉Dim strFile As String 声明。

标签: vba excel


【解决方案1】:

我确实已经解决了。我只是在子例程之外声明了变量,它很有效,所以看起来像这样。

 Option Explicit
 Dim strFile As String

 Public Sub OneRoutine()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-25
    • 1970-01-01
    • 2016-03-17
    • 2016-08-03
    • 2010-09-22
    • 1970-01-01
    • 1970-01-01
    • 2014-07-31
    相关资源
    最近更新 更多