2013-05-16 12 views
5

word interopとc#を使用して、単語のドキュメントにタブストップ(1cmの位置)を追加するのに助けが必要です。これは私がすでに試したものです。cで段落範囲にタブストップを追加する#

Range range = paragraph.Range; 
int firstTabStart = range .Start; 
range .SetRange(firstTabStart, firstTabStart); 
range .Paragraphs.TabStops.Add(5, WdTabAlignment.wdAlignTabRight); 

私は自分の単語の文書を開くとき、タブの停止は表示されません。 これらのタブは絶対あると私はワード文書でそれらを編集することはできません、が、しかし私は、

range .InsertAlignmentTab((int)WdAlignmentTabAlignment.wdCenter, 
    (int)WdAlignmentTabRelative.wdMargin); 

を使用して、タブの整列を挿入することができます。

助けてください。

+2

Wordの2010年に行われたが、その1センチメートル= 28ポイントを言います。あなたの問題を正確には解決していませんが、FYI。 – klugerama

+1

また、(アプリケーションアプリケーションで) 'application.CentimetersToPoints(2f)'や 'MillimetersToPoints'、' InchesToPoints'などを使うこともできます – joshuahealy

答えて

2

問題は再現できませんが、テストしたコードを貼り付けていますので、既存のコードとは異なるかどうかを確認できます。空白のドキュメントを使用して代わりにrange.Paragraphs.TabStops

  • paragraphs.TabStopsを使用しての.docまたは.docxの
  • のいずれかを使用して

    • 私はタブストップは、すべての場合には1 & 2センチメートルでルーラーに表示されました
    • 段落が1つ以上の文書を使用する
    • WdTabLeaderの3番目の引数を渡す方法。

  • そして、これはGoogleの

    class Start 
    { 
        public static void Main() 
        { 
         // Open a doc file. 
         Application application = new Application(); 
         Document document = application.Documents.Open(@"C:\Users\mmonkan\Documents\word.docx"); 
    
         Paragraphs paragraphs = document.Paragraphs; 
         Paragraph paragraph = paragraphs[1]; 
         Range range = paragraph.Range; 
         range.SetRange(0, 0); 
    
         range.Paragraphs.TabStops.Add(28, WdTabAlignment.wdAlignTabRight); 
         range.Paragraphs.TabStops.Add(56, WdTabAlignment.wdAlignTabRight); 
    
         // Close word. 
         application.Quit(WdSaveOptions.wdSaveChanges); 
    
         Console.ReadLine(); 
        } 
    } 
    

    enter image description here

    関連する問題