Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Black Savage как можно с вами связатся?? / 11 сообщений из 11, страница 1 из 1
27.09.2004, 09:28
    #32712119
DIGITALPRO
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Black Savage как можно с вами связатся??
Black Savage как можно с вами связатся???

На самом деле просто нужна Ваша помощь по поводу слияния в WORD
Не понятен один момент
...
Рейтинг: 0 / 0
27.09.2004, 11:17
    #32712305
Black Savage
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Black Savage как можно с вами связатся??
Ну вот он я...
Спрашивай, отвечу здесь.
...
Рейтинг: 0 / 0
27.09.2004, 11:26
    #32712329
DIGITALPRO
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Black Savage как можно с вами связатся??
Задача:
в текстовом файле есть некое кол-во записей, все записи с этого файла надо выкатить в документ Word. (с помошью слияния)

В принципе до файла я добрался и вывел на экран 1 запись (строку), а как сделать, что б все записи из файла шли друг за другом (столбцом в таблице) (команду NEXT в конце последнего поля т.е. в конце строки добавлял НЕПОМОГЛО))
Запрос может выдавать разное кол-во записей

заранее спасибо
...
Рейтинг: 0 / 0
27.09.2004, 12:03
    #32712410
Black Savage
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Black Savage как можно с вами связатся??
У нас при выгрузке в текстовый файл получается вот что:
1. Первая строка - заголовок (используется для названий полей при делании слияния)
2. Идут строки данных, данные могут разделятся разными символами (выведено в интерфейс это для простоты)
3. При слиянии с Word, у вас получится, что для каждой строки данных из текстового файла будет "свой набор страниц Word -а". Т.е. сделали вы вордовский документ на двух страницах, тогда при слиянии будет для первой строки данных из текстового файла, две страницы вордового документа, для второй - теже самые страницы, но с другими данными. Это фича слияния.

Если вам надо выводить данные из текстового файла, выгруженного из программы в виде таблицы, то лучше всего это делать не в верде, а в экселе.
У нас при выгрузке данных можно задать в какой файл их грузить (обычно это текстовый файл) и каким файлом "запускать". Т.е. мы легко можем выгрузить данные из текстового файла либо в ворд либо в эксель, либо куда нужно.

Примерно так.
...
Рейтинг: 0 / 0
27.09.2004, 12:26
    #32712475
DIGITALPRO
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Black Savage как можно с вами связатся??
Код: plaintext
При слиянии с Word, у вас получится, что для каждой строки данных из текстового файла будет "свой набор страниц Word -а". 

Я так понял что нельзя слить данные в одну таблицу на одной странице, тогда оч. жаль, мне нужен именно такой вариант
Клиент хочет видеть несколько запросов в виде нескольких таблиц (каждый запрос, отдельная таблица, идущая одна за другой) и именно в Word'e

Спасибо!!!

===============================
PB 9.0.1 (7236) ASA 9.0.0 (1312)
...
Рейтинг: 0 / 0
27.09.2004, 12:47
    #32712541
Black Savage
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Black Savage как можно с вами связатся??
DIGITALPROЯ так понял что нельзя слить данные в одну таблицу на одной странице
Да это верно. А что Excel не катит? Есть одна идея. Мы делали в Excel такую фичу: вешали на открытие документа макрос, который обрабатывал данные из текстового файла, заливал их в нужные клетки. Может быть, можно сделать также и с Word? Хотя спросил нашего чувака об этом, он говорит, что не знает точно можно ли такое сделать, ибо "навигация у ворда плохая"...
...
Рейтинг: 0 / 0
27.09.2004, 14:10
    #32712776
DIGITALPRO
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Black Savage как можно с вами связатся??
Жаль конечно, но ....


Спасибо что откликнулись!!

P.S. Тема закрыта
...
Рейтинг: 0 / 0
27.09.2004, 14:30
    #32712850
PL99
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Black Savage как можно с вами связатся??
DIGITALPROЯ так понял что нельзя слить данные в одну таблицу на одной странице, тогда оч. жаль, мне нужен именно такой вариант
Код: plaintext
ActiveDocument.MailMerge.MainDocumentType =  3  //wdCatalog
В этом случае вы получите таблицу, содержащую данные из источника
...
Рейтинг: 0 / 0
27.09.2004, 14:48
    #32712917
DIGITALPRO
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Black Savage как можно с вами связатся??
FOR PL99

Код: plaintext
ActiveDocument.MailMerge.MainDocumentType =  3  //wdCatalog

Извините, а где такое настроить или прописать???
...
Рейтинг: 0 / 0
27.09.2004, 15:04
    #32712976
PL99
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Black Savage как можно с вами связатся??
DIGITALPRO FOR PL99

Код: plaintext
ActiveDocument.MailMerge.MainDocumentType =  3  //wdCatalog

Извините, а где такое настроить или прописать???Меню Tools->Mail merge->Окно Mail Merge Helper->Create->Envelopes
...
Рейтинг: 0 / 0
18.10.2004, 12:09
    #32742343
185
185
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Black Savage как можно с вами связатся??
Прошу прощения, про
"Меню Tools->Mail merge->Окно Mail Merge Helper->Create->Envelopes"
не нашел, искал в Office XP.
Как понял из экспериментов, может и не правильно :(, сколько строчек в таблице сделаешь, столько записей(из источника) и отобразится.
Есть документ, в нем таблица, в ней 2 строки: первая заголовок, вторая данные. Делаем макрос autoopen, там считаем строчки в источнике и смотрим что есть в таблице, можно оставить что есть, можно загрузить новые данные.
строчку с данными используем как шаблон, для этого к ней пририсовываем NEXT, и копируем столько раз, сколько записей.


Sub autoopen()
Documents.Open FileName:="c:\src.txt", ConfirmConversions:=False, ReadOnly _
:=True, AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate _
:="", Revert:=False, WritePasswordDocument:="", WritePasswordTemplate:="" _
, Format:=wdOpenFormatAuto, Encoding:=1251
', Visible:=False на экране мелькает, а если оставить то все документы - невидимые, почему - не понял пока

ParagraphCount = ActiveDocument.Paragraphs.Count

ActiveDocument.Close

n1 = ActiveDocument.Tables(1).Rows.Count
If n1 > 2 Then
r1 = MsgBox("В таблице есть данные. Загрузить новые (OK), оставить старые (Cancel)", vbOKCancel, "Загрузка.")
If r1 = 1 Then
For i1 = n1 To 3 Step -1
ActiveDocument.Tables(1).Rows(i1).Delete ' удаляем имеющиеся данные
Next i1
Call mk_table(ParagraphCount - 1)
End If
Else
Call mk_table(ParagraphCount - 1)
End If
End Sub

Sub mk_table(ParagraphCount)

If ParagraphCount > 1 Then
Selection.HomeKey Unit:=wdStory
Selection.Find.Execute
Selection.Find.ClearFormatting
With Selection.Find ' по слову "операция" находим заголовок таблички
.Text = "операция"
.Replacement.Text = ""
.Forward = True
.Wrap = wdFindContinue
.Format = False
.MatchCase = False
.MatchWholeWord = False
.MatchWildcards = False
.MatchSoundsLike = False
.MatchAllWordForms = False
End With
Selection.Find.Execute
Selection.MoveDown Unit:=wdLine, Count:=1

' берем вторую строку, копируем, вставляем, добавляем Next, размножаем сколько надо раз
Selection.SelectRow
Selection.Copy
Selection.Paste
ActiveDocument.MailMerge.Fields.AddNext Range:=Selection.Range 'next
Selection.SelectRow
Selection.Copy
For i = 2 To ParagraphCount - 1
'Selection.MoveDown Unit:=wdLine, Count:=1
Selection.Paste
Next i
End If
End Sub
В пианиста не стрелять - играет как умеет. ;)
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Black Savage как можно с вами связатся?? / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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