代码之家  ›  专栏  ›  技术社区  ›  Mongus Pong

Word宏无法保存文件名>255个字符

  •  2
  • Mongus Pong  · 技术社区  · 15 年前

    我的词宏中有这个

    ActiveDocument.SaveAs FileName:="D:\\GrooveAndRock\\GrooveAndRock\\GrooveAndRock\\GrooveAndRock\\GrooveAndRock\\GrooveAndRock\\GrooveAndRockAndRoll\\GrooveAndRockAndRoll\\GrooveAndRockAndRoll\\GrooveAndRockAndRoll\\GrooveAndRockAndRoll\\GrooveAndRockAndRoll\\Ug F Blug and Bug f Goo - Blank Address - 2009-09-25 093614.doc", FileFormat:=wdFormatDocument, _
         LockComments:=False, Password:="", AddToRecentFiles:=True, WritePassword _
        :="", ReadOnlyRecommended:=False, EmbedTrueTypeFonts:=False, _
        SaveNativePictureFormat:=False, SaveFormsData:=False, SaveAsAOCELetter:= _
        False
    

    (注意长文件名)

    当我运行它时,我得到: “运行时错误‘9105’:

    字符串长度超过255个字符“

    Word Automation是否真的不能保存长文件名?这是一个相当严重的限制,但是谷歌搜索这个错误并没有发现任何问题。

    有解决办法吗?

    怎么回事!你说什么?!?

    困惑的。。

    4 回复  |  直到 6 年前
        1
  •  2
  •   Peter Albert    6 年前

    尝试使用dir函数进入所需文件夹,然后保存:

    ChDir "D:\\GrooveAndRock\\GrooveAndRock\\GrooveAndRock\\GrooveAndRock\\GrooveAndRock\\GrooveAndRock\\GrooveAndRockAndRoll\\GrooveAndRockAndRoll\\GrooveAndRockAndRoll\\GrooveAndRockAndRoll\\GrooveAndRockAndRoll\\GrooveAndRockAndRoll\\"
    
    ActiveDocument.SaveAs FileName:="Ug F Blug and Bug f Goo - Blank Address - 2009-09-25 093614.doc", _
        FileFormat:=...
    
        3
  •  1
  •   Fionnuala    15 年前
        4
  •  0
  •   Peter Albert    6 年前

    您可以通过将路径转换为旧的8.3格式来解决此问题:

        strFolder = "D:\GrooveAndRock\GrooveAndRock\GrooveAndRock\GrooveAndRock\GrooveAndRock\GrooveAndRock\GrooveAndRockAndRoll\GrooveAndRockAndRoll\GrooveAndRockAndRoll\GrooveAndRockAndRoll\GrooveAndRockAndRoll\GrooveAndRockAndRoll"
        ActiveDocument.SaveAs _
            FileName:=CreateObject("Scripting.FileSystemObject").GetFolder(strFolder).ShortPath & "Ug F Blug and Bug f Goo - Blank Address - 2009-09-25 093614.doc", _
            FileFormat:=...