![]() |
|
Модераторы: gambit, Partizan |
![]()
|
|
| cosamia |
|
||||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 231 Регистрация: 11.5.2005 Репутация: нет Всего: нет |
нужно выполнить 2 операции:
1) создать word document и записать в него что-то. 2) открыть существующий документ, прочитать его, изменить и сохранить. если ли у кого ссылки на примеры? несколько уточню вопрос: сделал так:
Но при этом создается ворд докумен и открывается... Сохранять его приходится в ручную. Потому вопросы такие: 1) Как бы сделать так чтобы сохранялся он автоматически сохранял и закрывал 2) с созданием примерно на 50% разобрался, но как открыть уже существующий документ и как с ним работать? делать поиск, изменения и т.д.? Кстати по-поводу сохранения: сделал так, но не работает! т.е. сохраняется джокумент, но в нем ничего нет!!
Это сообщение отредактировал(а) cosamia - 26.10.2005, 08:44 |
||||
|
|||||
| mr.DUDA |
|
|||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 24 Всего: 232 |
Воспользуйтесь поиском по форуму .NET, я несколько раз давал ответ с примерами. По поводу видимости окна Word, всего навсего нужно из первого исходника убрать строку "oWord.Visible = true;"
-------------------- ![]() |
|||
|
||||
| cosamia |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 231 Регистрация: 11.5.2005 Репутация: нет Всего: нет |
я пользовался, там у вас был только 1 пост и начинался он со слов- "опишу кратко..."
примеров кода там я не увидел. проблема у меня по прежднему стоит. смотрел на разных форумах и сайтах уже - бесполезно. никто ничего не знает. >По поводу видимости окна Word, всего навсего нужно из первого исходника убрать строку "oWord.Visible = true;" вы ошиблись. видимость окна меня не интересовала. меня интересуют 2 вещи: 1) как прочитать содержимое ворд-документа 2) как сохранить ворд документ после того как я туда что-то записал. код который есть в мсдн не работает |
|||
|
||||
| mr.DUDA |
|
||||||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 24 Всего: 232 |
Плохо искали. Вот ссылка.
Разве ? Может, я неправильно истолковал это:
? -------------------- ![]() |
||||||
|
|||||||
| cosamia |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 231 Регистрация: 11.5.2005 Репутация: нет Всего: нет |
>Но при этом создается ворд докумен и открывается...
>Сохранять его приходится в ручную. здесь имелось ввиду следующая проблема: программно открывается ворд , неважно визибл он или нет, но при попытке выполнить сохранение (описанными выше примерами кода) ничего не происходит, т.е. сохраняется пустой файл! Однако по некоей причине выскакивает окно ворда хочу ли я сохранить док-т с именем которое у ворда идет по умолчанию. Не знаю понятно ли объяснил... А ссылку Вашу сейчас посмотрю, спасибо. |
|||
|
||||
| Guest |
|
||||||||
|
Unregistered |
mr.DUDA , спасибо, ваш скрипт работает. Однако у меня несколько вопросов: 1) мне надо сделать SaveAs а не Save тут у меня проблемы. Он не сохраняет...Просто Сохранить - сохраняет, а СохранитьКАк - не хочет... Вы решали такую проблему уже? 2) Как в ворде вообще происходит вставка текста? вот я пишу если так oDoc.Content.InsertParagraph(); oDoc.Content.InsertAfter("hello"); то все ок. а если так oDoc.Content.InsertParagraph(); oDoc.Content.InsertAfter("hello"); oDoc.Content.InsertParagraph(); то последний параграф переписывает мою строку! в рез-те ничего нет... Кстати как в Content регулировать шрифты, и т.д.? Я это делал через Word.Paragraph oPara1; oPara1 = oDoc.Content.Paragraphs.Add(ref oMissing); oPara1.Range.Text = "Heading 1"; oPara1.Range.Font.Bold = 1; oPara1.Format.SpaceAfter = 24; //24 pt spacing after paragraph. oPara1.Range.InsertParagraphAfter(); Что работает в 2003 Studio но не работает в 2000.... |
||||||||
|
|||||||||
| mr.DUDA |
|
||||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 24 Всего: 232 |
Именно SaveAs у меня всегда работает. Save использовать стрёмно, т.к. может вылезти окно с предложением выбрать путь и имя для файла, а этого не хотелось бы.
Лично я привык использовать Selection и Range, чтобы указать в какое место документа будет добавлен текст. Выделить можно как кусок текста (вместе с таблицами и пр.), так и фрагмент нулевой длины - тогда просто курсор будет поставлен в нужное место. Range служит для определения начала и длины выделяемого фрагмента. После того, как курсор стоит в нужном месте (например в начале документа), текст легко вводится методами TypeText и TypeParagraph. Насчёт Insert... не знаю, как он работает. Вообще, насколько я понимаю, самый простой и надёжный способ программировать для офиса - это вначале пробовать выполнять те же действия в окне Visual Basic for Word/Excel, а затем переносить код (практически без изменений, если не считать параметров по умолчанию) в C#. Ещё полезной является возможность записать макрос в ворде, и просмотреть его в виде кода - иногда просто незаменимая фича. -------------------- ![]() |
||||
|
|||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Разработка Windows Forms | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |