Python和VBA,混合行尾字符

时间:2015-07-27 03:34:44

标签: python vba excel-vba utf-8 excel

基本上我有一个保存在Word文档中的python脚本,我使用Excel VBA(插入Spreadsheet中的值)修改它并将其打印到.py文件中,以便在命令行中运行。但是,当我将word文档中的脚本打印到.py文件并打开.py文件时,IDE会警告“将自动修复的混合行尾字符”,然后脚本中的所有“”变为就像是。以下是我的vba代码:

Dim wddoc As Variant
Dim wdApp As Variant
Dim fileopen As String

Set wdApp = CreateObject("Word.application")
Set wddoc = wdApp.Documents.Open("C:\Users\BLABLA\Desktop\python test\test.docx")

'modifying word document here, inserting value from spread sheet

fileopen = "C:\Users\BLABLABLA\Desktop\python test\testpy.py"

Open fileopen For Append As #1
Print #1, wddoc.Content
Close #1

With wdApp.activedocument
.Close WdDoNotSaveChanges
End With

及以下是保存在word文档

中的脚本示例
# -*- coding: utf-8 -*-


for i in range(1,10):
    print(“test”)
       “ ”appears to be wrong

以下是我将它打印到.py文件时得到的内容:

# -*- coding: utf-8 -*-

for i in range(1,10):
    print(¡§test¡¨)
    ¡§¡¨appears to be wrong

我该如何解决?我很新闻,这可能是一个愚蠢的问题,但我会感激任何输入。提前致谢!

1 个答案:

答案 0 :(得分:0)

明确的答案是:

永远不要在Microsoft Word中存储源代码

您的行尾字符是回车符,换行符和段落标记字符的混合。您的引号由单引号,双引号和镜像反转逗号和双反转逗号引用语音标记混合而成。

Microsoft Word帮助您“自动修正”它们,成为阅读和发布美式英语商业信函的最佳格式。

哎呀,谢谢,微软...但话说回来,这就是Word的用途:格式化的人类可读文档。

源代码保存在纯文本文件 - .txt或您的语言和开发环境的文件类型中 - 您永远不会在Microsoft Word中打开源文件。