Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBA - Требуется помощь доделать код на VBA

Ответить
Настройки темы
VBA - Требуется помощь доделать код на VBA

Новый участник


Сообщения: 11
Благодарности: 0

Профиль | Отправить PM | Цитировать


Вообщем, в переменную хочу запихнуть параметр страницы (например по левому краю, чтобы был отступ 3). По коду он должен сравнивать с активным документом. Если поле не совпадает, то одно сообщение, если совпадает, то соответственно другой.
Вот код:
Private Sub CommandButton1_Click()
Dim f As PageSetup
f.LeftMargin = 3
If ActiveDocument.PageSetup.LeftMargin = f Then
MsgBox "Верные поля"
Else
MsgBox "Неверные поля"
End If
End Sub
Может все так просто, но не могу найти правильное решение. Если, кто знает, большая просьба HELP!! Заранее спасибо!

Отправлено: 22:25, 02-04-2015

 

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата Mikle_home88:
(например по левому краю, чтобы был отступ 3) »
«3» — чего? Отступ в VBA в пунктах задаётся. Не маловато 3 пункта будет?


Цитата Mikle_home88:
If ActiveDocument.PageSetup.LeftMargin = f Then »
Вы пытаетесь сравнивать значение типа «single» с объектной переменной типа «PageSetup». К тому же — неинициализированной.

Я вообще не пойму смысла в:
Цитата Mikle_home88:
в переменную хочу »
когда достаточно простого:
Код: Выделить весь код
Private Sub CommandButton1_Click()
    If ActiveDocument.PageSetup.LeftMargin = 3 Then
        MsgBox "Верные поля"
    Else
        MsgBox "Неверные поля"
    End If
End Sub

Отправлено: 02:19, 03-04-2015 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 11
Благодарности: 0

Профиль | Отправить PM | Цитировать


Да, тут явная ошибка, сравнивая свойство объекта с самим объектом. Переделал вот, так If ActiveDocument.PageSetup.LeftMargin = f.LeftMargin. Но всё равно не получается. Не могу добиться с переменной f, неправильно присваиваю параметр f.LeftMargin = 3.
Iska, спасибо за ответ. Но так я, конечно, тоже пробовал. Но это всё не работает. Бех разницы, какие бы поле по левому краю я не поставил, он всегда будет выдавать "Неверные поля".
Смысл от всего этого, когда загружаю страницу через форму, и если на ней будут не те поля и табуляция, то соответственно будет выдаваться сообщение.

Последний раз редактировалось Mikle_home88, 03-04-2015 в 09:36.


Отправлено: 08:55, 03-04-2015 | #3


Новый участник


Сообщения: 11
Благодарности: 0

Профиль | Отправить PM | Цитировать


Посмотрел в примере, что нужно вот так еще установить Set f = Selection.Range.PageSetup. Но как установить, чтобы в переменной хранилось содержимое по левому краю

Отправлено: 12:23, 03-04-2015 | #4


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Вы никак не поясняете Вашего упорного желания «присобачить» объектную переменную типа PageSetup туда, где она ни разу не нужна.

Отправлено: 17:18, 03-04-2015 | #5



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » VBA - Требуется помощь доделать код на VBA

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Срочно требуется помощь по восстановлению разделов Recovery и Restore на ASUS X502CA Dr. Double Face Ноутбуки 4 28-02-2014 23:54
[решено] Подозрения на вирус. Требуется помощь jmorley002 Лечение систем от вредоносных программ 18 20-09-2012 02:16
V. 2010 - [Москва] требуется помощь в развёртке Exchange 2010 на кластере se530 Microsoft Exchange Server 0 26-05-2011 13:54
C/C++ - Требуется помощь онлайн на зачёте по проге. quaker_strelok Программирование и базы данных 1 24-05-2009 10:11
Требуется помощь в выборе материнской платы на 790 чипсете! st031 Материнские платы и память 1 18-06-2008 17:58




 
Переход