powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Проблема с MS Word
13 сообщений из 13, страница 1 из 1
Проблема с MS Word
    #33921290
DaEVIL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Создаю прайс-лист в ворде с помощью OLE. При небольшом количестве записей все удовлетворительно работает, но при количестве записей больше 5000, работать все начинает очень медленно. Может быть кто нибудь наступал на подобные грабли и знает как это преодолеть. Мне кажется все проблема в распределении памяти.
...
Рейтинг: 0 / 0
Проблема с MS Word
    #33921349
PaulWist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://forum.foxclub.ru/read.php?32,177179,177221#msg-177221

Обрати внимание в какой момент выдается
Код: plaintext
m.loWord.Visible = .T.
...
Рейтинг: 0 / 0
Проблема с MS Word
    #33921509
DaEVIL
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
я делаю его видимым после того как весь докумень будет заполнен и отформатирован.
...
Рейтинг: 0 / 0
Проблема с MS Word
    #34007725
milsii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробуйте перегнать данные в буфер обмена, переключить раскладку на русский через API функции, открыть word и через paste передать данные
в файл.
Выигрыш во времени от 5 до 10 раз.
Закомментировано формирование колонтитулов и форматирование листа,
может пригодится.

fontf="courier new"
fontr=10

hlayout = loadkeyboardlayout(kbdru, 0) && переключение раскладки
activatekeyboardlayout(hlayout, 0)

SELECT _p1
clp=''
GO TOP
SCAN
clp=clp+strk+CHR(13) && формируем готовый вид строки
ENDSCAN

*!* #DEFINE wdfielddate 31
*!* #DEFINE wdfieldtime 32
*!* #DEFINE wdfieldnumpages 26
*!* #DEFINE wdfieldpage 33

PUBL tword,odoc
LOCAL tword AS WORD.APPLICATION

tword = CREATEOBJECT("Word.application")
odoc=tword.documents.ADD('normal', .T.)
*!* tword.activewindow.activepane.VIEW.TYPE= 3 && wdPrintView

*!* WITH tword.activedocument

*!* WITH .pagesetup
*!* .ORIENTATION =0 && wdOrientPortrait

*!* .topmargin = 30 &&30
*!* .bottommargin = 30 &&30
*!* .leftmargin = 30 &&40 &&60
*!* .rightmargin = 30 &&30 &&
*!* ENDWITH

*!* .RANGE.FONT.NAME =fontf &&"courier new"
*!* .RANGE.FONT.SIZE =fontr &&10
*!* .SAVEAS(sb1)
*!* ENDWITH

*!* tword.activewindow.activepane.VIEW.seekview = 10 && wdSeekCurrentPageFooter

*!* WITH tword.SELECTION
*!* .FONT.SIZE =7
*!* .FONT.italic =1

*!* .typetext(CHR(13))
*!* .FIELDS.ADD(tword.SELECTION.RANGE,wdfielddate)
*!* .typetext(' ')

*!* .FIELDS.ADD(tword.SELECTION.RANGE,wdfieldtime)
*!* .typetext(' ')
*!* .FONT.bold=1

*!* ENDWITH

*!* tword.normaltemplate.autotextentries("Ïîëíîå èìÿ ôàéëà").INSERT(tword.SELECTION.RANGE, .T.)
*!* tword.SELECTION.FONT.bold=0
*!* tword.SELECTION.typetext(SPACE(100))

*!* tword.normaltemplate.autotextentries("Ñòð. <¹> èç <âñåãî>").INSERT(tword.SELECTION.RANGE,.T.)

*!* tword.activewindow.activepane.VIEW.seekview = 9 && wdSeekCurrentPageHeader = 10 && wdSeekCurrentPageFooter
*!* tword.SELECTION.FONT.bold =1
*!* tword.SELECTION.FONT.SIZE =fontr

*!* twoRd.SELECTION.paragraphformat.ALIGNMENT = 1 && wdAlignParagraphCenter = 2 && wdAlignParagraphRight

*!* FOR EACH a10 IN zag
*!* IF !EMPTY(a10)
*!* tword.SELECTION.typetext(a10+crlf) && ðèñóåì øàïêó èç ìàññèâà
*!* ENDIF
*!* ENDFOR

*!* tword.activewindow.activepane.VIEW.seekview = 0 && wdSeekMainDocument óáðàòü ïàíåëü êîëîíòèòóëà
*!* tword.activedocument.RANGE.FONT.bold =0

tword.SELECTION.paste

*tword.activewindow.activepane.verticalpercentscrolled = 100

tword.activedocument.SAVE

tword.QUIT
hlayout = loadkeyboardlayout(kbden, 0) && переключение раскладки
activatekeyboardlayout(hlayout, 0)
...
Рейтинг: 0 / 0
Проблема с MS Word
    #34008138
Фотография dudochkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PaulWisthttp://forum.foxclub.ru/read.php?32,177179,177221#msg-177221

Обрати внимание в какой момент выдается
Код: plaintext
m.loWord.Visible = .T.
...
Рейтинг: 0 / 0
Проблема с MS Word
    #34008139
Фотография dudochkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Извиняюсь. Что-то не сработало. :(
...
Рейтинг: 0 / 0
Проблема с MS Word
    #34008824
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DaEVILСоздаю прайс-лист в ворде с помощью OLE.
За это убивать надо (шутка). :)
Прайс-лист НУЖНО делатьв Экселе.
...
Рейтинг: 0 / 0
Проблема с MS Word
    #34011182
Фотография dudochkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как его из Экселя интегрировать?
...
Рейтинг: 0 / 0
Проблема с MS Word
    #34011623
FM32Yo.......
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AleksMed DaEVILСоздаю прайс-лист в ворде с помощью OLE.
За это убивать надо (шутка). :)
Прайс-лист НУЖНО делатьв Экселе.

Дык если длинный прайс, и несильная машиня в экселе тоже долго... разве нет????

Не спорю в ВОРДе еще дольше
...
Рейтинг: 0 / 0
Проблема с MS Word
    #34011650
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dudochkinА как его из Экселя интегрировать?
Не надо его ни с кем интегрировать. Он просто должен весь быть в Экселе. Для работы менеджера он погибче будет, чем Вордовский прайс.
...
Рейтинг: 0 / 0
Проблема с MS Word
    #34012024
glamis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а genrep не пробовал?
...
Рейтинг: 0 / 0
Проблема с MS Word
    #34021341
denis_viktorovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если сохранить данные курсора или таблицы поср-вом
copy to .... type foxplus
то полученную ДБФ-ку можно будет открыть Экселем
и сохранить как эксель через OLE и отформатировать.
...
Рейтинг: 0 / 0
Проблема с MS Word
    #34023216
Фотография dudochkin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, полезная идея.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Проблема с MS Word
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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