powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Выгрузка в Ворд
18 сообщений из 18, страница 1 из 1
Выгрузка в Ворд
    #33356433
K_Maria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я создаю таблицу:
Код: plaintext
oword.ActiveDocument.Tables.Add(oword.Selection.Range, 10 , 5 )
и я не знаю как установить ширину колонки, вот это не работает:
Код: plaintext
oword.Selection.Tables.Columns( 1 ).SetWidth(ColumnWidth, 1 )
находясь в конкретной ячейке я хочу убрать бордюр, и поэтому пишу:
Код: plaintext
oword.Selection.Borders.wdBorderTop(wdLineStyleNone)
но опять не работает, короче не знаю я грамматики....
...
Рейтинг: 0 / 0
Выгрузка в Ворд
    #33356449
K_Maria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у меня вокспро 6.0 , а ворд любой может быть
...
Рейтинг: 0 / 0
Выгрузка в Ворд
    #33356486
Crispy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Посмотри рекомендации здесь http://forum.foxclub.ru/read.php?f=32&i=7&t=7
...
Рейтинг: 0 / 0
Выгрузка в Ворд
    #33356521
K_Maria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Там я не поняла, может кто-нибудь все таки поможет?
...
Рейтинг: 0 / 0
Выгрузка в Ворд
    #33356578
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
K_Maria...и я не знаю как установить ширину колонки, вот это не работает:
Код: plaintext
oword.Selection.Tables.Columns( 1 ).SetWidth(ColumnWidth, 1 )

Попробуй так:
Код: plaintext
oword.Selection.Tables( 1 ).Columns( 1 ).PreferredWidth =  28 . 35 * 8 
28.35 - коэффициент перевода сантиметров в Points
8 (см) - установка ширины столбца в сантиметрах
А вообще я лично использую информацию Макросов.
Основное меню/Сервис/Макрос/Начать запись...
После этого смотрю макрос и использую его в VFP.
...
Рейтинг: 0 / 0
Выгрузка в Ворд
    #33356612
K_Maria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну слава богу, есть в мире люди добрые, ну вообще-то я тоже пытаюсь пользоваться макросами office, но что-то этот basic мне не нравится, не умею переводить, ведь покажи палец я ведь и руку могу откусить :) Можете мне еще про бордюр написать?
...
Рейтинг: 0 / 0
Выгрузка в Ворд
    #33356662
Петров Андрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насколько я понимаю ColumnWidth и wdLineStyleNone это константы Word. Тогда надо либо подключить файл с этими константами (что то вроде word*.h) либо определить эти константы в коде

например

#DEFINE wdLineStyleNone 10 * Не уверен что 10 - отбалды поставил.

Значения констант легко можно узнать в макросе Word. Наводите на константу мышь - высвечивается ее значение...
...
Рейтинг: 0 / 0
Выгрузка в Ворд
    #33356955
K_Maria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
допустим константу такую определила, а код снятия цвета бордюра какой будет, ведь если написать то, что у меня сверху, то "syntax error"
...
Рейтинг: 0 / 0
Выгрузка в Ворд
    #33357081
Crispy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробуй вот так:

oword.Selection.Borders(wdBorderTop).LineStyle = wdLineStyleNone

Кстати в той статье внизу - еще полезная ссылка "Перевод макроса Excel в синтаксис FoxPro"
http://www.foxclub.ru/articles/index.php?id=41
Ну а Word - тоже по аналогии.
...
Рейтинг: 0 / 0
Выгрузка в Ворд
    #33357088
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сначала, надо понимать общую "иерархию" объектов. Для Word это будет примерно так:

Word Application - Document - Table - ячейки таблицы

Т.е., чтобы получить ссылку на ячеку таблицы, сначала надо получить ссылку на саму таблицу. Чтобы получить ссылку на таблицу, надо получить ссылку на тот документ, в котором эта таблица вставлена. Чтобы получить ссылку на открытый документ (файл DOC) надо иметь ссылку на само приложение Word.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
* Создаем объект Word
LOCAL loWord
loWord=CREATEOBJECT('Word.Application')
* Сразу делаем его видимым для отладки
loWord.Visible=.T.

* Создаем в нем новый документ
LOCAL loDoc
loDoc = m.loWord.Documents.Add()

* Создаем в этом документе таблицу
* Сначала определеяем место, куда будет вставлена таблица
* В данном случае в самое начало листа
LOCAL loRange
loRange = m.loDoc.Range()
* Теперь собственно создание таблицы из  3  столбцов и  10  строк
LOCAL loTable
loTable = m.loDoc.Tables.Add(m.loRange, 10 , 3 )

* Задаю ширину  2  столбца равной  3 . 5  сантиментрам
#DEFINE wdAdjustNone  0 
m.loTable.Columns( 2 ).SetWidth(m.loWord.CentimetersToPoints( 3 . 5 ),wdAdjustNone)

* Убираю бордюр у ячейки из  3  строки  2  столбца
#DEFINE wdBorderTop - 1 
#DEFINE wdBorderLeft - 2 
#DEFINE wdBorderRight - 4  
#DEFINE wdBorderBottom - 3 
#DEFINE wdLineStyleNone  0 
LOCAL loCell
loCell = m.loTable.Cell( 3 , 2 )
m.loCell.Borders(wdBorderTop).LineStyle = wdLineStyleNone
m.loCell.Borders(wdBorderLeft).LineStyle = wdLineStyleNone
m.loCell.Borders(wdBorderRight).LineStyle = wdLineStyleNone
m.loCell.Borders(wdBorderBottom).LineStyle = wdLineStyleNone

Все это легко получить сделав элементарный макрос и потом поковырявшись в HELP по VBA для Word (нажав F1 в окне редактирования макроса)
...
Рейтинг: 0 / 0
Выгрузка в Ворд
    #33357154
K_Maria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и последнее: можете написать как страницу сделать горизонтальной (альбомной), знать бы это и было бы полный комплект счастья
...
Рейтинг: 0 / 0
Выгрузка в Ворд
    #33357155
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
K_Mariaя создаю таблицу: ...
находясь в конкретной ячейке я хочу убрать бордюр, и поэтому пишу:
Код: plaintext
oword.Selection.Borders.wdBorderTop(wdLineStyleNone)
но опять не работает, короче не знаю я грамматики....
Перед получением ссылки на объект Word
Код: plaintext
1.
2.
#INCLUDE msWord.h
#DEFINE True .T.
#DEFINE False .F.
.......
Тут напрямую сложно что-либо советовать, но начнем:
1. бордюр таблицы
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
With .Selection.Tables( 1 )
  With .Borders(wdBorderLeft)
    .LineStyle = wdLineStyleSingle
    .LineWidth = wdLineWidth100pt
    .Color = wdColorAutomatic
  EndWith
  With .Borders(wdBorderRight)
    .LineStyle = wdLineStyleSingle
    .LineWidth = wdLineWidth100pt
    .Color = wdColorAutomatic
  EndWith
  With .Borders(wdBorderTop)
    .LineStyle = wdLineStyleSingle
    .LineWidth = wdLineWidth100pt
    .Color = wdColorAutomatic
  EndWith
  With .Borders(wdBorderBottom)
    .LineStyle = wdLineStyleSingle
    .LineWidth = wdLineWidth100pt
    .Color = wdColorAutomatic
  EndWith
  .Borders(wdBorderHorizontal).LineStyle = wdLineStyleNone
  .Borders(wdBorderVertical).LineStyle = wdLineStyleNone
  .Borders(wdBorderDiagonalDown).LineStyle = wdLineStyleNone
  .Borders(wdBorderDiagonalUp).LineStyle = wdLineStyleNone
  .Borders.Shadow = False
EndWith
2. бордюр ячейки таблицы
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
* используя команды:
  .MoveRight(wdCell)
  .MoveDown(wdLine, <n>, wdExtend)
  .MoveUp(wdLine, <n>)
  .MoveLeft(wdCharacter,  1 )
  .HomeKey(wdLine)
  ...
  * необходимо встать на нужную ячейку
.Selection.SelectCell
.Selection.Borders(wdBorderTop).LineStyle = wdLineStyleNone
.Selection.Borders(wdBorderLeft).LineStyle = wdLineStyleNone
.Selection.Borders(wdBorderBottom).LineStyle = wdLineStyleNone
.Selection.Borders(wdBorderRight).LineStyle = wdLineStyleNone
.Selection.Borders(wdBorderDiagonalDown).LineStyle = wdLineStyleNone
.Selection.Borders(wdBorderDiagonalUp).LineStyle = wdLineStyleNone
With .Selection.Borders(wdBorderLeft)
  .LineStyle = Options.DefaultBorderLineStyle
  .LineWidth = Options.DefaultBorderLineWidth
  .Color = Options.DefaultBorderColor
EndWith
With .Selection.Borders(wdBorderTop)
  .LineStyle = Options.DefaultBorderLineStyle
  .LineWidth = Options.DefaultBorderLineWidth
  .Color = Options.DefaultBorderColor
EndWith
With .Selection.Borders(wdBorderBottom)
  .LineStyle = Options.DefaultBorderLineStyle
  .LineWidth = Options.DefaultBorderLineWidth
  .Color = Options.DefaultBorderColor
EndWith
With .Selection.Borders(wdBorderRight)
  .LineStyle = Options.DefaultBorderLineStyle
  .LineWidth = Options.DefaultBorderLineWidth
  .Color = Options.DefaultBorderColor
EndWith
Что-то в таком роде получается. Это я взял из Макроса.
Что отрицательно для меня лично, так это то, что Word последовательная запись и поэтому приходиться использовать команды:
.MoveRight()
.MoveDown()
.MoveLeft()
.MoveUp()
Только из-за этого я использую Excel для вывода информации.
...
Рейтинг: 0 / 0
Выгрузка в Ворд
    #33357176
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У ВладимираМ еще правильнее. Так что предыдущее мое сообщение можно не рассматривать.
...
Рейтинг: 0 / 0
Выгрузка в Ворд
    #33357258
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
K_Mariaи последнее: можете написать как страницу сделать горизонтальной (альбомной), знать бы это и было бы полный комплект счастья
Неужели настолько "в лом" сделать запись макроса, а потом "немножко подумать" и поэкспериментировать?

Код: plaintext
1.
2.
#DEFINE wdOrientLandscape  1 
m.loDoc.PageSetup.Orientation = wdOrientLandscape

Здесь m.loDoc - это ссылка на документ (файл DOC) из предыдущего поста.
...
Рейтинг: 0 / 0
Выгрузка в Ворд
    #33357326
K_Maria
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо! просто срочно надо, узнав эти вещи, я так думаю, что теперь уже смогу переводить...
...
Рейтинг: 0 / 0
Выгрузка в Ворд
    #33357358
Недоходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я согласен с ВладимирМ. Через макросы можно узнать все св-ва ворда, екселя, и т.п. Сам так делаю.
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Выгрузка в Ворд
    #38559040
Всем доброго дня! Знаю что можно посмотреть в макросе и т.д.. Однако пока еще не силен в этом.. Если кто подскажет как сделать нижний колонтитул и вписать в него 1 строку текста - буду очень признателен.
...
Рейтинг: 0 / 0
Выгрузка в Ворд
    #38559349
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОлегГеннадьевичВсем доброго дня! Знаю что можно посмотреть в макросе и т.д.. Однако пока еще не силен в этом.. Если кто подскажет как сделать нижний колонтитул и вписать в него 1 строку текста - буду очень признателен.

Как узнать какая команда Word или Excel выполняет нужное действие
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Выгрузка в Ворд
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]