如何在 Microsoft Word 的 VBA 中使用特殊字符?
Posted
技术标签:
【中文标题】如何在 Microsoft Word 的 VBA 中使用特殊字符?【英文标题】:How can I use special chars in VBA of Microsoft Word? 【发布时间】:2019-11-02 05:00:51 【问题描述】:我在 Microsoft Word 的 VBA 中创建了一组宏文件,作为一种 CAT 工具 (CAT = https://en.wikipedia.org/wiki/Computer-assisted_translation)。问题是在某些情况下,我显示需要翻译的文本,而用户需要用他自己的语言输入文本。这可能包括一些特殊字符,例如“ăîâșț/ĂÎÂȘȚ”,甚至是引号或括号。有什么方法可以在某些 InputBox
函数中使用它们吗?或者,至少,某种方式让用户在TextBox
或其他东西中输入他需要的文本?...或者我应该如何处理这个?...也许 UTF-8 支持是我需要的?或者?...任何帮助将不胜感激!...
我已经尝试过 Microsoft Word 的 vba 功能InputBox
。我也在想,也许,我可以创建自己的InputBox
,根据我的条件,我也许可以拥有一个也接受这些字符的字符,或者将所有字符放入某个字符串变量中。 . 这是 *** 上有人说的:
Is it possible to create an 'input box' in VBA that can take a text selection with multiple lines as an input?(我指的是gizlmo的回答……)
这里有 3 行代码包含它(虽然它更多的是如何提问,而不是调试问题,所以这些并不是真正需要的......)
MsgBox ("Ziua " & Str(ziua) & " - " & titlurien(ziua))
titluales = InputBox("Titlul original: " & titlurien(ziua), "Ziua: " & Str(ziua) & ", Rapsodia Realitatilor " & monthname(lunanecesara) & Str(annecesar))
titluriro(ziua) = titluales
我希望输出与他输入的内容完全相同,无论是引号、括号还是特殊字符(如“ăîâșț”/“ĂÎÂȘȚ”)...
【问题讨论】:
【参考方案1】:VBA InputBox 将接受输入或粘贴的任何字符。可输入的字符取决于最终用户安装的 Windows 和 Office 的语言版本。
下面是我刚刚用你的示例字符串“ăîâșț/ĂÎÂȘȚ”进行的测试
SpecialCharInput()
Dim str As String
str = InputBox("Enter you text", "Special Test Input Box")
Debug.Print str
End Sub
在我的英语语言系统中,唯一的问题是大写和小写“ȘȚ”土耳其语字符。麻烦我的意思是它把这些字符变成了问号“??”在结果字符串中。不过我敢肯定,如果我的系统支持土耳其语,这些字符将被正确识别和输出。
【讨论】:
这正是问题所在。它也为我显示了这些问号(我确实安装了语言。顺便说一句,它是罗马尼亚语,而不是土耳其语)。另外 - 有时用户也必须输入引号或括号等(请记住,如果使用其他方法,它也必须支持这些......)所以......不,这些字符无法识别也没有正确输出...但感谢您的尝试。以上是关于如何在 Microsoft Word 的 VBA 中使用特殊字符?的主要内容,如果未能解决你的问题,请参考以下文章
LinkToPrevious 的 Microsoft Word 2016 VBA 问题
让通配符在 Microsoft Word 的 VBA 宏中的查找和替换功能中起作用
Ubuntu中的LibreOffice是不是有类似于Microsoft office(word,excel等)的vba宏的东西? [关闭]