2011-06-13 47 views
0

我做了一個excel visual basic腳本,它從excel表格中獲取數據,併爲每行在單詞表中生成一個段落。該文檔的默認語言是希伯來語,文本右對齊,方向從右向左。 對於段落中的一行(最後一行),我想將語言設置爲英語,方向從左到右,並且對齊權。然後,將下一段的第一行改回希伯來語,從右向左方向和右對齊方向。 上一個段落的最後一行是時,按HOME鍵,換檔結束時,單擊工具欄上的圖標更改語言,方向和對齊方式爲希望記錄在Word中宏時,我得到:設置語言,文本方向和由Excel中的visual basic創建word文檔中的對齊方式

Sub test() 
    Selection.HomeKey Unit:=wdLine 
    Selection.EndKey Unit:=wdLine, Extend:=wdExtend 
    Application.Keyboard (2057) 
    Selection.LtrPara 
    Selection.ParagraphFormat.Alignment = wdAlignParagraphRight 
End Sub 

一讓我感到驚訝的是,改變語言記錄就好像我使用的是鍵盤,而不是對象的屬性,就像方向和對齊。 如何將此轉換爲excel visual basic?有問題的線是目前使用補充說:

With f 
    .Content.InsertAfter Format(a, "standard") & " x " & Format(b, "#,##0.000") & " x " & Format(c, "#,##0.000") & "/" & Format(d, "#,##0.000") & " = " & Format(e, "standard") 
    .Content.InsertParagraphAfter 
End With 

感謝,

恩斯特

回答

0

好吧,我有一個解決辦法,這只是部分答案。這不是Excel visual basic中的解決方案,而是Word中的一種解決方案:

搜索所有發生的^13[!^13]@x*^13,然後執行語言,對齊和方向更改。 錄製時它作爲Word中的宏,我得到如下:

Sub Macro1() 

Selection.Find.ClearFormatting 
With Selection.Find 
    .Text = "^13[!^13]@x*^13" 
    .Replacement.Text = "" 
    .Forward = True 
    .Wrap = wdFindContinue 
    .Format = False 
    .MatchCase = False 
    .MatchWholeWord = False 
    .MatchKashida = False 
    .MatchDiacritics = False 
    .MatchAlefHamza = False 
    .MatchControl = False 
    .MatchAllWordForms = False 
    .MatchSoundsLike = False 
    .MatchWildcards = True 
End With 
Selection.LtrPara 
Selection.ParagraphFormat.Alignment = wdAlignParagraphRight 
Selection.Find.ClearFormatting 
With Selection.Find 
    .Text = "^13[!^13]@x*^13" 
    .Replacement.Text = "" 
    .Forward = True 
    .Wrap = wdFindContinue 
    .Format = False 
    .MatchCase = False 
    .MatchWholeWord = False 
    .MatchKashida = False 
    .MatchDiacritics = False 
    .MatchAlefHamza = False 
    .MatchControl = False 
    .MatchAllWordForms = False 
    .MatchSoundsLike = False 
    .MatchWildcards = True 
End With 

末次

但在新生成的Word文檔運行這個時候,這並不做它應該做的。任何想法解決這個問題?順便說一句,我可以添加和運行一個單詞的宏由excel vb使用excel vb生成的文檔?

相關問題