语言检测几乎总是错误的,我只需要在英语和斯洛文尼亚语校对语言之间切换的VBA代码。
我目前有这个代码选择英语(和斯洛文尼亚语的另一个)作为校对语言。并且它工作正常我只需要在它周围包含一个if语句来检查当前的langId == 1060或1033 - 并相应地切换。
我不知道如何查看当前的LangId。
Sub SetLanguageSi()
Dim olEmail As Outlook.MailItem
Dim olInsp As Outlook.Inspector
Dim wdDoc As Object
Dim oRng As Object
On Error Resume Next
Set olEmail = ActiveInspector.CurrentItem
With olEmail
Set olInsp = .GetInspector
Set wdDoc = olInsp.WordEditor
Set oRng = wdDoc.Range
oRng.LanguageID = 1060 'Slovenian
oRng.NoProofing = False
.Display
End With
End Sub
答案 0 :(得分:0)
你可以使用IMultiLanguage3::DetectOutboundCodePage(我使用了很多次,效果很好),但它在VBA中不可用 - 只能用C ++,Delphi和.Net语言。