Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.09.2010, 16:24   #11
sirius84
 
Регистрация: 08.08.2010
Сообщений: 9
По умолчанию

У меня там с шаблонами замучено - создается новый вордовский документ, открывается, туда автоматом вставляется выделенный фрагмент. С Selection.Copy не прокатывает

Но вот беда - работает с Microsoft Word 11 Object Library, а с Microsoft Word 10 Object Library ругается:

MISSING: Microsoft Word 11 Object Library (в меню Tools - > References)

и не работает.

Выдает ошибку: can't execute code in break mode, с подчеркиванием строки:
Dim wapp As New Word.Application

Может, Word.Application в Microsoft Word 10 Object Library по-другому называется? Где собака зарыла?

Последний раз редактировалось sirius84; 06.09.2010 в 16:51.
sirius84 вне форума Ответить с цитированием
Старый 07.09.2010, 02:18   #12
KL (XL)
Форумчанин
 
Аватар для KL (XL)
 
Регистрация: 04.08.2009
Сообщений: 112
По умолчанию

В MS Office нет обратной совместимости, т.ч. если хотите, чтобы работало в более ранней версии, устанавливайте ссылку на библиотеку самой старой версии из тех, что будут использоваться. Вообще, программируйте в самой старой из этих версий. В данном случае, откройте файл в Word 10, установите ссылку на соответствующую библиотеку, сохраните и затем откройте и запустите код в Word 11.
KL [MVP - Microsoft Office Excel]
CPU: Intel Core 2, 2.17GHz | RAM: 3.25GB (4GB) | GPU: nVidia Quadro FX 2500M
OS: Windows 7 Ultimate x64 EN | MSO: 2010 Professional Plus x86 EN

Последний раз редактировалось KL (XL); 07.09.2010 в 02:21.
KL (XL) вне форума Ответить с цитированием
Старый 08.09.2010, 11:39   #13
sirius84
 
Регистрация: 08.08.2010
Сообщений: 9
По умолчанию

KL (XL),
документ word, по сути, создается "на лету" из кода, при помощи шаблонов (Документ 1, Документа 2 и т.д.). А проблема: открываем файл Excel, сделанный на компе с word 11 object library, в ОС с word 10 object library - идем в Tools-> References, а там - MISSING: Microsoft word 11 object library.

Последний раз редактировалось sirius84; 08.09.2010 в 16:16.
sirius84 вне форума Ответить с цитированием
Старый 08.09.2010, 20:33   #14
KL (XL)
Форумчанин
 
Аватар для KL (XL)
 
Регистрация: 04.08.2009
Сообщений: 112
По умолчанию

Цитата:
Сообщение от sirius84 Посмотреть сообщение
KL (XL),
документ word, по сути, создается "на лету" из кода, при помощи шаблонов (Документ 1, Документа 2 и т.д.). А проблема: открываем файл Excel, сделанный на компе с word 11 object library, в ОС с word 10 object library - идем в Tools-> References, а там - MISSING: Microsoft word 11 object library.
В таком случае, откройте вашу книгу Excel в предыдущей версии Office, измените ссылку Microsoft Word 11 Object Library на Microsoft Word 10 Object Library, и будет вам счастье.

Кстати,

Dim wapp As New Word.Application

- криминал, нужно делать так:

Dim wapp As Word.Application
Set wapp = New Word.Application


а если вы используете функции GetObject или CreateObject, то New вообще не нужно:

Dim wapp As Word.Application
Set wapp = GetObject(,"Word.Application")


Подробнее здесь: http://www.cpearson.com/excel/DeclaringVariables.aspx
KL [MVP - Microsoft Office Excel]
CPU: Intel Core 2, 2.17GHz | RAM: 3.25GB (4GB) | GPU: nVidia Quadro FX 2500M
OS: Windows 7 Ultimate x64 EN | MSO: 2010 Professional Plus x86 EN

Последний раз редактировалось KL (XL); 08.09.2010 в 20:35.
KL (XL) вне форума Ответить с цитированием
Старый 08.09.2010, 22:41   #15
sirius84
 
Регистрация: 08.08.2010
Сообщений: 9
По умолчанию

KL (XL),
большое человеческое спасибо!

разобрались. заплутали в трех соснах: не нашли поначалу 10-й библиотеки word. а то уже в дебри полез: думал, надо код править, под старую версию.
sirius84 вне форума Ответить с цитированием
Старый 09.12.2010, 12:33   #16
leech
 
Регистрация: 25.11.2010
Сообщений: 7
По умолчанию

Чтото я прочитал, но не разобрался. Мне надо определить верхнюю и нижнюю границу диапазона (для общего развития левую/правую)
Для чего: есть 2 диапазона ячеек. В ходе выполнения макроса они "расползаются". Т.е. между ними появляются пустые строки. Мне надо их (эти строки) удалить. Для чего собственно и нужна нижняя граница диапазона1 и верхняя диапазона2
помогите!
leech вне форума Ответить с цитированием
Старый 09.12.2010, 12:50   #17
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Так может эти пустые строки и удалить просто как пустые?
Зачем диапазоны-то?
Удаление пустых ячеек из диапазона
Вот еще, была тема на нашем форуме.
Удаление пустых строк
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499

Последний раз редактировалось VictorM; 09.12.2010 в 12:58.
VictorM вне форума Ответить с цитированием
Старый 09.12.2010, 13:03   #18
leech
 
Регистрация: 25.11.2010
Сообщений: 7
По умолчанию

не получится. В самих диапазонах есть пустые строки, которые надо оставить. Есть другой вариант как определить именно ненужные пустые строки?

p.s.
1) 2 диапазона, которые я описал - формы документов лицевая и оборотная сторона (это к тому, что внутри есть нужные пустые строки).
2) Они (диапазоны) уже заданы. Так что вроде бы логично использовать их.
leech вне форума Ответить с цитированием
Старый 09.12.2010, 13:15   #19
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
Есть другой вариант как определить именно ненужные пустые строки?
А каков критерий их "ненужности"?
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 09.12.2010, 13:48   #20
leech
 
Регистрация: 25.11.2010
Сообщений: 7
По умолчанию

хм... ну не получилось по-умному объяснить - буду "на пальцах"

итак есть форма документа. Она занимает некий диапазон, внутри которого не надо ничего менять. Этот диапазон уже с присвоеным именем (диап1 напр). Т.е. чтоб его выделить достаточно GoTo к нему и он выделен.
Есть второй диапазон (тоже с формой). Тоже уже с присвоеным иенем Диап2

Между этими двумя диапазонами есть пустые строки, которые не только не нужны, но и влияют на печать (т.е. 2-я форма начинается не с начала листа, а где-то с середины).

Вот именно эти строки (между нижней границей диап1 и верхней диап2) и надо программным методом найти и удалить. После чего я воткну HPageBreaks и будет мне счастье
leech вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определение границ области в изображении Manul_87 Помощь студентам 0 17.11.2009 17:38
Определение диапазона и его выделение НеВа6464 Microsoft Office Excel 3 23.05.2009 18:27
Определение номера последней строки выделенного диапазона НеВа6464 Microsoft Office Excel 2 17.05.2009 14:36
Прозрачное окно без границ AidarBik Win Api 0 08.02.2008 17:51