none
VB6からワード文章を作成するとテーブル幅がおかしくなる事がある RRS feed

  • 質問

  • お世話になります。

     VB6からワードのテーブルを使った文章を作ると、Word9Object(Word2000)を参照しているマシンからは正しい升目の表が作成されるが、Word11Object(Word2003)を参照しているマシンから出力するとおかしくなる。

     何か設定が有るのでしょうか?それとも、Word9Object専用の引数等パラメータが有るのでしょうか?

     元々、Word9Object(Word2000)を参照しているマシンで作成したものです、同じソースを別のマシンでロードすると、Word11Object(Word2003)が参照になり、同じソースにも関わらず、出力が違ってきます。

     何かアドバイス等御座いましたら、ご教示頂きます様お願い致します。

    WinXP+VB6(SP6)

    2006年8月25日 1:45

すべての返信

  • お世話になります。

     状況説明が少なすぎてアドバイスを頂けないようですね。

     怪しいと思っていたのは以下の部分で、テーブルを作るところか、比率カラム幅を比率で設定している 部分かと思っていました、Word2003でマクロ記録をしてどの様になるかを調べたところ、”wdWord8TableBehavior”が”wdWord9TableBehavior”に変わっていました。

      この部分はバージョンに依存するパラメータのようで、”wdWord9TableBehavior”に変更して実行したところ正しく動作しました、このユーティリティーを作成した時には、MSDNライブラリーのWORD VBAのリファレンスを見てこのユーティリティーを書いたと思うのですが、現在これらのWORD VBAのリファレンスが何処に有るのか分からず、これらのパラメータの内容を把握出来ていません。

     WORD VBAのヘルプを見る方法をご存知の方、ご教示下さい。

       DocWs.Tables.Add Range:=myRange, NumRows:=2, NumColumns _
                :=3, DefaultTableBehavior:=wdWord8TableBehavior

        Selection.Tables(1).Cell(1, 1).Select
        Selection.SelectColumn
      Selection.Columns.PreferredWidthType = wdPreferredWidthPercent 'wdPreferredWidthPoints
        Selection.Columns.PreferredWidth = aa 'MillimetersToPoints(IndexW(1))

    2006年8月25日 9:05
  • これっぽいんですが・・・

    http://msdn2.microsoft.com/ja-jp/library/microsoft.office.interop.word.wddefaulttablebehavior.aspx

    AutoFitしてるかしてないかっていう

    2006年8月28日 1:56
  • ご回答有難う御座います。

    以前は、下記にWORDのVBAのリファレンスが有ったと思うのですが、移転後無くなってしまったのかな?

    http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/off2000/vbawrd/html/woobjTables.asp

    2006年8月28日 6:22