2010年8月10日火曜日

CS4、CS5の段落コンポーザ名

InDesignは言語ごとにUIから操作できないように機能が隠してあったりします。

スクリプトのオブジェクトを見ればだいたいは分かるのだがString型だとわからない。
しかも、言語に依存してしまうのがどうにかならないものかな。

CS4とCS5で使える段落コンポーザ名のメモです。たぶんあっているはず。

CS4 JCS5 JCS4 ECS5 E
Adobe 欧文段落コンポーザAdobe 欧文段落コンポーザーHL Composer
Adobe 日本語段落コンポーザAdobe 日本語段落コンポーザーHL Composer J
Adobe 欧文単数行コンポーザAdobe 欧文単数行コンポーザーHL Single
Adobe 日本語単数行コンポーザAdobe 日本語単数行コンポーザーHL Single J
Adobe 多言語対応段落コンポーザAdobe 多言語対応段落コンポーザーAdobe World-Ready Paragraph ComposerHL Composer Optyca
Adobe 多言語対応単数行コンポーザAdobe 多言語対応単数行コンポーザーAdobe World-Ready Single-line ComposerHL Single Optyca
Linnaeus コンポーザLinnaeus コンポーザーHL Linnaeus

多言語対応段落~を使用するとRTL組版、タイ語、ヒンディ・・・(ここを見て)などが可能になるそうです。
Linnaeusは情報がないので全く不明です。

2010年8月5日木曜日

段落の行と行数を取得するWordVBA

WordのVBAには段落の行と行数を取得する項目がないみたいなので作ってみた。
先頭行から最終行(Endキー)を選択して、選択範囲を取得するというだけです。
何か問題あったら教えてください。

Dim wd_pgfObj As Word.Paragraph
Dim wd_lineObj As Word.Range
Dim LineCount As Long
Dim LineStart As Long
    
Set wd_pgfObj = Selection.Paragraphs(1)
LineCount = 0
LineStart = wd_pgfObj.Range.Start
Do
    Selection.Start = LineStart
    Selection.End = LineStart
    Call Selection.EndKey(Unit:=wdLine, Extend:=wdExtend)
        
    Set wd_lineObj = Selection.Range
    LineCount = LineCount + 1
        
    If Selection.End = wd_pgfObj.Range.End Then
        Exit Do
    End If
    LineStart = Selection.End
Loop
    
Call MsgBox("選択した行:" & LineCount & "行")