Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Пакет Microsoft Office

  Все выпуски  

RusFAQ.ru: Пакет Microsoft Office


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Помощь пользователю ПО / Пакет Microsoft Office

Выпуск № 549
от 24.01.2008, 09:00

Администратор:Ерёмин А.А.
В рассылке:Подписчиков: 419, Экспертов: 111
В номере:Вопросов: 2, Ответов: 4

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>


Вопрос № 119199: Доброго времени суток! Вопрос по VBA. У меня есть 4 переменных. Первая переменная содержит в себе год (например per1=2007) Вторая переменная номер месяца (например per2=3, т.е. март) Третья переменная обозначает номер недели в месяце (на...
Вопрос № 119211: Здравствуйте уважаемые эксперты. Появился у меня такой вопровик по поводу обновления полей в Office 2007. Я использую автоматическую нумерацию при вставке таблиц, рисунков и формул. Из Вордовской справки узнал, что для обновления всех полей в док...

Вопрос № 119.199
Доброго времени суток! Вопрос по VBA. У меня есть 4 переменных.
Первая переменная содержит в себе год (например per1=2007)
Вторая переменная номер месяца (например per2=3, т.е. март)
Третья переменная обозначает номер недели в месяце (например per3=2)
Четвертая переменная обозначает день недели 1-понедельник ... 7-воскресение (per4=6)
Необходимо найти значение даты по этим данным (переменная per0).
В данном примере нужно найти вторую субботу марта 2007 года.
В процедуре per0 вычисляется много раз, с разными значениями.
Не могу сообразить как это сделать. Прошу помочь.
Отправлен: 18.01.2008, 16:24
Вопрос задал: Фоменко Сергей Владимирович (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 10)

Отвечает: Aleksandr Tim
Здравствуйте, Фоменко Сергей Владимирович! По логике обработки числовых значений предполагается, что в году 12 месяцев, вы указываете -
Вторая переменная номер месяца (например per2=3, т.е. март) -
однако по шаблону месяцев должно идти 01, 02, 03 - март, то есть значения должны быть в диапазоне 01 ... 12
- и поэтому вывод итоговой искомой переменной даёт сбой, путая месяцы и недели, хотя машина явно ищет перебором нужный вариант...
Подробнее есть в офисной Справке по VBA в разделе Переменные дат
Я так думаю. Попробуйте.
---------
Aquila non captat muscas - Орел не ловит мух
Ответ отправил: Aleksandr Tim (статус: 2-ой класс)
Ответ отправлен: 18.01.2008, 17:03
Оценка за ответ: 1
Комментарий оценки:
Вы не поняли вопрос.

Отвечает: Megaloman
Здравствуйте, Фоменко Сергей Владимирович!

Дата_первого_числа = DateSerial(per1, per2, 1)
День_недели_первого_числа = Weekday(Дата_первого_числа, vbMonday)
per0 = DateAdd("ww", per3 - 1, Дата_первого_числа)
per0 = DateAdd("d", per4 - День_недели_первого_числа, p0)


---------
Нет времени на медленные танцы!
Ответ отправил: Megaloman (статус: Студент)
Ответ отправлен: 18.01.2008, 21:51
Оценка за ответ: 5

Отвечает: DrakoN
Здравствуйте, Фоменко Сергей Владимирович!
Я ваши per0 заменил на textbox1 и т.д.
Єта процедура писана под вижуал студией для адаптации вам необходимо верно указать откуда брать значение для переменных. А именно чтобі вместо textbox1.text передовалась строка с числом года месяца итд. смотрите приложение

Приложение:

---------
От Винта!

Ответ отправил: DrakoN (статус: Студент)
Ответ отправлен: 18.01.2008, 22:57
Оценка за ответ: 5
Комментарий оценки:
Спасибо! Меня в полночь осенило. Проверил - работает. Function per0(per1 As Integer, per2 As Integer, per3 As Integer, per4 As Integer) As Date \' nomned - номер недели в месяце nomned = 0 d1 = DateSerial(per1, per2, 1) d2 = DateSerial(per1, Month(DateSerial(per1, per2, 1) + 32), 1) - 1 For i = Day(d1) To Day(d2) per0 = DateSerial(per1, per2, i) c1 = Weekday(per0) If c1 = per3 Then nomned = nomned + 1 If nomned = per4 Then GoTo 20 End If Next i 20 End Function Теперь вызываем функцию per0 из любого места процедуры и она возвращает ответ. per1, per2, per3, per4 определяем как глобальные переменные.


Вопрос № 119.211
Здравствуйте уважаемые эксперты.
Появился у меня такой вопровик по поводу обновления полей в Office 2007. Я использую автоматическую нумерацию при вставке таблиц, рисунков и формул. Из Вордовской справки узнал, что для обновления всех полей в документе нужно выделить весь документ и нажать F9. Это все работает. Но если поле находится в надписи, например название рисунка, то для его обновления нужно выделять каждую надпись отдельно и обновлять ее.
Суть вопроса такова. Можно ли с помощью макроса автоматизировать процесс обновления полей в надписях? К сожалению именно в VBA я не силен, но алгоритм понимаю так:
- выбрать все рисунки;
- последовательно в каждом рисунке выбирать существующие в нем надписи и обновлять их.
В работе над этим вопросом я узнал, что надписи в VBA это TextBox, но дальше не продвинулся.
Отправлен: 18.01.2008, 18:05
Вопрос задал: Витер Александр Анатольевич (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Aleksandr Tim
Здравствуйте, Витер Александр Анатольевич! Возможно, можно написать для этого дела макрос - но зачем? У меня OfficeXP (то есть 2002), но не думаю, что в Word 2007 с обновлением полей придумали что-то особенное. Откройте в меню Сервис вкладку Настройка... и в меню Команды выберите строку Все команды, найдите в списке справа (ближе к концу) команду UpdateFields - возьмите её правой кнопкой мышки и перенесите в любую Панель кнопок - стиль Обычный, то есть без текста - и вы получите новую команду Обновить поля.
Эта команда работает после выделения всего текста (Ctrl+A или Ctrl+5, уж не знаю, как там по умолчанию в новой версии) - и вы получаете возможность обновлять прежде всего именно поля, куда были произведены вставки Как текст, ну там нумерация, названия картинок и всё такое прочее - буквально двумя кликами мышкой.
В дополнение я себе таким же образом вынес на верхнюю панель кнопку Обновить из меню Веб, - штука в том, что как оказалось для Word абсолютно без разницы, загружен html-документ со скриптами и тегами, или документ Word с кодами полей, - при условии, что в Параметрах отмечена опция Обновлять связи при открытии.
Кстати, в разделе Все команды вы сможете найти для себя еще ряд очень полезных кандидатов на кнопки или строки в выпадающие меню (сюда они вставляются таким же манером - захватом мышкой и переносом в нужное меню, не отпуская кнопку жмите на нужное меню - оно раскроется - и ставьте новую строку команды в нужное вам место).
---------
Aquila non captat muscas - Орел не ловит мух
Ответ отправил: Aleksandr Tim (статус: 2-ой класс)
Ответ отправлен: 19.01.2008, 10:45
Оценка за ответ: 3


Вы имеете возможность оценить этот выпуск рассылки.
Нам очень важно Ваше мнение!
Оценить этот выпуск рассылки >>

Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.70 от 17.01.2008
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное