いつもお世話になっております、macです。
VC++で作成したプロジェクトにmsword9をインクルードして、
ワードの.doc形式で保存するプログラムを作成しています。
縦横4X4のテーブルを作成し、2行目から4行目の左端の3つのカラムを
結合させたいのですが、うまく動作しません。
(結合したいのは下図の①、②と③)
** 現状のテーブル **
+---+---+---+---+
| | | | |
+---+---+---+---+
|① | | | |
+---+---+---+---+
|② | | | |
+---+---+---+---+
|③ | | | |
+---+---+---+---+
* 行いたい結合 **
+---+---+---+---+
| | | | |
+---+---+---+---+
| | | | |
| +---+---+---+
| | | | |
| +---+---+---+
| | | | |
+---+---+---+---+
* ここからコード *
// ①のセルを選択
Row cRow = cRows.Item(2);
Cells cCells = cRow.GetCells();
Cell cCell = cCells.Item(1);
cCell.Select();
// 結合する全てのセルを選択
m_cSelection.EndOf(COleVariant((long)wdColumn), COleVariant((long)wdExtend));
// 結合
m_cSelection.MoveEnd(COleVariant((long)wdCell), COleVariant((long)1));
* ここまでコード *
ウェブで検索したところ、結合にはMoveEndを使用すると記述してありましたが、
その辺りが怪しいようです。
分割には、「split」という関数が用意されていますが、結合する関数も
あるのでしょうか?
どなたかご教授お願いします。
開発環境
WindowsXP VC++6.0 Office2000
結合するのは Cells.Marge のような気がします。
使うメソッドが分からないときは、
Word のマクロ記録でやりたい操作を記録して、
生成されるVBスクリプトを見ればよいです。
あと、ヘルプはご覧になってますでしょうか?
http://msdn2.microsoft.com/en-us/library/ms254954(en-us,VS.80).aspx
dairygoods様、回答ありがとうございます。
Cells.Margeで結合できました。
ちなみに、VBスクリプトはどのようにすれば見れるのでしょうか?
MS-Word開いて メニュー の マクロ -> Visual Basic Editer でみれます。
文法はVBですが、オブジェクトの使われ方は同じですので参考になります。
(VBのエディタ機能を使えば結構楽チンです。)
ちなみに,Word VBAのヘルプをちゃんとインストールしていれば,
ヘルプは
オフィスをインストールしたディレクトリ\1041\VBAWRD9.CHM
になります。
# Office 2000の場合。
Office 2000とOffice 2003ではメソッド引数等に違いがあるので,
自分のバージョンのヘルプを見た方がよいでしょう。
Blue様、YuO様回答ありがとうございます。
ヘルプに関することまでありがとうございました。