Что нового

Выделение части таблицы в Ворд

POMKA

Новичок
Сообщения
5
Репутация
0
Захотелось мне красивые таблицы в Ворде рисовать с помощью Autoit. Нашел все хелпы, можно выделять столбцы и строки - а вот захотелось выделить внутреннюю прямоугольную область таблицы и поменять ее свойства. И не тут то было! Через Range выделяется только последовательность ячеек - только часть строки или первая строка до конца, а следующая до заданной ячейки :( Не катит! Пробую через Selection делать и тудыть растудыть - в хелпах есть свойство MoveUp, а в реале нету! Хотя MoveLeft работает. Чо делать????
Код:
#include <Word.au3>

$oWord = _Word_Create()       ; Создать Новый экземпляр Word
$oDoc =_Word_DocAdd($oWord)   ; Создать Итоговый новый пустой Word документ
$oRange = _Word_DocRangeSet($oDoc, -2)     ; Устанавить курсор в Конец Word файла
$oDoc.Tables.Add($oRange, 6, 6)          ; строки и столбцы

$oDoc.Tables(1).Style = "Сетка таблицы"    ; Нарисовать сетку таблицы

$oDoc.Tables.Item(1).Cell(5,4).Select      ; начали с ячейки 5,3
$oWord.Application.Selection.Cells.Shading.Texture = 0x0000015E   ; Текстура для наглядности
$oWord.Application.Selection.MoveLeft($WdCell, 3, 1) ; пытаемся выделить три влево - с последним параметром чото не то штоля
$oWord.Application.Selection.Cells.Shading.Texture = 0x0000015E   ; Текстура для наглядности
$oWord.Application.Selection.MoveUp($WdCell, 2, 1)   ; пытаемся выделить область вверх
$oWord.Application.Selection.Cells.Shading.Texture = 0x0000015E   ; Текстура
выдача:
$oWord.Application.Selection.MoveUp($WdCell, 2, 1)
$oWord.Application.Selection^ ERROR
 

Вложения

pvnn

Осваивающий
Сообщения
281
Репутация
31
Макрос выделения в Word выдает следующее:
Код:
Selection.MoveLeft Unit:=wdCharacter, Count:=3, Extend:=wdExtend
Selection.MoveUp Unit:=wdLine, Count:=2, Extend:=wdExtend
Вот так должно быть
Код:
#include <Word.au3>
$oWord = _Word_Create()       ; Создать Новый экземпляр Word
$oDoc =_Word_DocAdd($oWord)   ; Создать Итоговый новый пустой Word документ
$oRange = _Word_DocRangeSet($oDoc, -2)     ; Устанавить курсор в Конец Word файла
$oDoc.Tables.Add($oRange, 6, 6)          ; строки и столбцы
$oDoc.Tables(1).Style = "Сетка таблицы"    ; Нарисовать сетку таблицы
; Строка макроса Word:
;Selection.MoveLeft Unit:=wdCharacter, Count:=3, Extend:=wdExtend
;Selection.MoveUp Unit:=wdLine, Count:=2, Extend:=wdExtend

$wdExtend=1
$oDoc.Tables.Item(1).Cell(5,4).Select      ; начали с ячейки 5,4
$oWord.Application.Selection.MoveLeft($wdCharacter,3,$wdExtend) ;  выделить три влево 
$oWord.Application.Selection.MoveUp($wdLine,2,$wdExtend)   		;  выделить область вверх
$oWord.Application.Selection.Cells.Shading.Texture = 0xFFFFFFF5 ; Текстура
 
Верх