Гость
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Выгрузка в Ворд / 18 сообщений из 18, страница 1 из 1
02.11.2005, 05:45
    #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
02.11.2005, 06:36
    #33356449
K_Maria
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка в Ворд
у меня вокспро 6.0 , а ворд любой может быть
...
Рейтинг: 0 / 0
02.11.2005, 07:29
    #33356486
Crispy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка в Ворд
Посмотри рекомендации здесь http://forum.foxclub.ru/read.php?f=32&i=7&t=7
...
Рейтинг: 0 / 0
02.11.2005, 08:27
    #33356521
K_Maria
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка в Ворд
Там я не поняла, может кто-нибудь все таки поможет?
...
Рейтинг: 0 / 0
02.11.2005, 09:04
    #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
02.11.2005, 09:29
    #33356612
K_Maria
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка в Ворд
Ну слава богу, есть в мире люди добрые, ну вообще-то я тоже пытаюсь пользоваться макросами office, но что-то этот basic мне не нравится, не умею переводить, ведь покажи палец я ведь и руку могу откусить :) Можете мне еще про бордюр написать?
...
Рейтинг: 0 / 0
02.11.2005, 09:49
    #33356662
Петров Андрей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка в Ворд
Насколько я понимаю ColumnWidth и wdLineStyleNone это константы Word. Тогда надо либо подключить файл с этими константами (что то вроде word*.h) либо определить эти константы в коде

например

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

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

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

Кстати в той статье внизу - еще полезная ссылка "Перевод макроса Excel в синтаксис FoxPro"
http://www.foxclub.ru/articles/index.php?id=41
Ну а Word - тоже по аналогии.
...
Рейтинг: 0 / 0
02.11.2005, 12:00
    #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
02.11.2005, 12:15
    #33357154
K_Maria
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка в Ворд
и последнее: можете написать как страницу сделать горизонтальной (альбомной), знать бы это и было бы полный комплект счастья
...
Рейтинг: 0 / 0
02.11.2005, 12:15
    #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
02.11.2005, 12:20
    #33357176
Владимир СА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка в Ворд
У ВладимираМ еще правильнее. Так что предыдущее мое сообщение можно не рассматривать.
...
Рейтинг: 0 / 0
02.11.2005, 12:42
    #33357258
ВладимирМ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выгрузка в Ворд
K_Mariaи последнее: можете написать как страницу сделать горизонтальной (альбомной), знать бы это и было бы полный комплект счастья
Неужели настолько "в лом" сделать запись макроса, а потом "немножко подумать" и поэкспериментировать?

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

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

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


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