Всем добрый день!Суть задачи. в том, что макрос должен осуществлять поиск даты, формата "месяц год", в колонтитулах документа. С поиском справилась , а вот дальнейшее сравнение с системной датой не получается.Из-за формата даты. в нем отсутствует день.Пример к тесту прикрепила(...Очень нужна помощь, так как сроки выполнения всех задач поджимают.
P.S. Это не единственная моя проблемная задача
Всем добрый день!Суть задачи. в том, что макрос должен осуществлять поиск даты, формата "месяц год", в колонтитулах документа. С поиском справилась , а вот дальнейшее сравнение с системной датой не получается.Из-за формата даты. в нем отсутствует день.Пример к тесту прикрепила(...Очень нужна помощь, так как сроки выполнения всех задач поджимают.
P.S. Это не единственная моя проблемная задача Ania999
Спасибо большое за помощь! Действительно та строка лишняя, у меня была немного другая задача, до этого, преобразовывать дату числовую в текстовый формат. Единственно не пойму, села продливать возможные варианты дат. Тоесть, в колонтитуле может же быть разный месяц.Он при переборе добавляет всегда еще одну букву к месяцу
Спасибо большое за помощь! Действительно та строка лишняя, у меня была немного другая задача, до этого, преобразовывать дату числовую в текстовый формат. Единственно не пойму, села продливать возможные варианты дат. Тоесть, в колонтитуле может же быть разный месяц.Он при переборе добавляет всегда еще одну букву к месяцу Ania999
Сам макрос должен в колонтитуле находить дату (формата - месяц год), а после сверять ее с системной и выдавать человеку при закрытии файла соответствует ли написанная дата системной. Изначально была проблема с форматом системной даты. Макрос подправили и он начал работать.
Объясню условия поиска, я вручную прописывала варианты дат ( к примеру - январь 2014, февраль 2014 и т.д.), если по очереди хоть какой то формат нашел в колонтитуле тогда уже сравниваем с системной и выдаем соответствует или нет. Так вот теперь при каждом повторе поиска, то есть не нашел январь, ищет дальше февраль и .т.д. он записывает в текст колонтитула букву первого слова колонтитула.. (Это выглядит так: мМай 2014).В этом и состоит проблема...мне надо устранить эту запись первой лишней буквы
Сам макрос должен в колонтитуле находить дату (формата - месяц год), а после сверять ее с системной и выдавать человеку при закрытии файла соответствует ли написанная дата системной. Изначально была проблема с форматом системной даты. Макрос подправили и он начал работать.
Объясню условия поиска, я вручную прописывала варианты дат ( к примеру - январь 2014, февраль 2014 и т.д.), если по очереди хоть какой то формат нашел в колонтитуле тогда уже сравниваем с системной и выдаем соответствует или нет. Так вот теперь при каждом повторе поиска, то есть не нашел январь, ищет дальше февраль и .т.д. он записывает в текст колонтитула букву первого слова колонтитула.. (Это выглядит так: мМай 2014).В этом и состоит проблема...мне надо устранить эту запись первой лишней буквы Ania999
Какой фигнёй вы страдаете... (впрочем, как и там) Я, кажется, уже говорил - правильно ставьте вопросы. Понимаете, нам не интересно, что именно делает ваш код. Причём что именно он делает с вашей точки зрения. Причём это даже не ваш код.
Нам интересно, что реально имеется и что конкретно должно получиться.
Замечу также, что текст вида "январь 2014" - это никакая не дата. Поэтому смысловая нагрузка фразы "сравнить дату из колонтитула с системной датой" мне, например, непонятна...
И, ради всего.., перкратите уже засовывать всю кучу вашего кода в автозакрытие книги... И начните уже читать про объектную модель Word. И про программирование чутка. Хотя бы про переменные, условия и циклы. И запомните, что за копипаст при программировании - могут очень больно морально наказать (я не про чужой код, кстати).
Какой фигнёй вы страдаете... (впрочем, как и там) Я, кажется, уже говорил - правильно ставьте вопросы. Понимаете, нам не интересно, что именно делает ваш код. Причём что именно он делает с вашей точки зрения. Причём это даже не ваш код.
Нам интересно, что реально имеется и что конкретно должно получиться.
Замечу также, что текст вида "январь 2014" - это никакая не дата. Поэтому смысловая нагрузка фразы "сравнить дату из колонтитула с системной датой" мне, например, непонятна...
И, ради всего.., перкратите уже засовывать всю кучу вашего кода в автозакрытие книги... И начните уже читать про объектную модель Word. И про программирование чутка. Хотя бы про переменные, условия и циклы. И запомните, что за копипаст при программировании - могут очень больно морально наказать (я не про чужой код, кстати).AndreTM
Skype: andre.tm.007 Donate: Qiwi: 9517375010
Сообщение отредактировал AndreTM - Воскресенье, 12.01.2014, 22:58
Извиняюсь тогда за не корректность изложения вопроса.Я как раз и описала что должно получиться..."....Сам макрос должен в колонтитуле находить дату (формата - месяц год), а после сверять ее с системной и выдавать человеку при закрытии файла соответствует ли написанная дата системной...""
Спасибо за совет по поводу объектной модели Wordа,учту. Код как раз мой.
Я рассчитывала на то что сюда обращаются за советами как раз...Ерундой я не страдаю, так как выполнение данного макроса при закрытии файла требование заказчика,как и сам макрос...каким бы не логичным он не казался. текст вида "январь 2014" это "часть даты". Для моего заказчика необходимо сравнение именно этой части.
Извиняюсь тогда за не корректность изложения вопроса.Я как раз и описала что должно получиться..."....Сам макрос должен в колонтитуле находить дату (формата - месяц год), а после сверять ее с системной и выдавать человеку при закрытии файла соответствует ли написанная дата системной...""
Спасибо за совет по поводу объектной модели Wordа,учту. Код как раз мой.
Я рассчитывала на то что сюда обращаются за советами как раз...Ерундой я не страдаю, так как выполнение данного макроса при закрытии файла требование заказчика,как и сам макрос...каким бы не логичным он не казался. текст вида "январь 2014" это "часть даты". Для моего заказчика необходимо сравнение именно этой части.Ania999
Вам ещё раз повторить? У вас в колонтитуле нет никаких дат. Есть только текст. Даже если он и означает "некий месяц некоего года" - программа этого совершенно не подозревает А "системная дата", если вы этого не знаете, - это число. Да даже если и текст был бы - как сверить "май 2013" и "01.05.13", по какому признаку целый месяц года может соответствовать некоему дню? Вы не думайте, что я прикалываюсь - вы реально попробуйте сформулировать ответ на этот вопрос. Может тогда до вас начнёт доходить, чего вас тут долбят...
Так вы тогда так и рассказывайте: "Макрос должен находить в колонтитуле текст вида <наименование месяца><пробел><год (4 цифры)>, затем сверять текущие месяц/год с найденными в колонтитуле." Или наоборот: "Макрос должен сформировать строку вида "месяц год" по текущей дате, затем найти эту строку в колонтитуле" Или ещё как: ...
Далее, вы там начинаете в тексте из колонтитула, если нашли какую то "типа дату" менять месяц, с чем-то сравнивать... Зачем? У вас в колонтитуле этот текст будет изменяться? Если изменяться - будет вноситься руками или формироваться кодом? Если будет формироваться кодом - то чего же вы тут нам лохматите соответствующую часть тела?
выполнение данного макроса при закрытии файла требование заказчика,как и сам макрос...каким бы не логичным он не казался.
Это ваши проблемы. Вы не понимаете? Вы ещё пока не "заказчику" файл отдаёте, а просите совета на форуме. Так какого же мы обязаны переносить ваш макрос из автозапуска в модуль каждый раз, ибо как его иначе тестировать? А "нелогичность самого макроса" как понимать? "Заказчик" у вас просит "действие", "хочу чтобы я ткнул так - и вылезло вот так", его не интересует ни логика, ни алгоритм, ни средства... Поэтому и мы вам пытаемся дать совет, как можно реализовать то или иное действие, но вы же даже сами, похоже, не определились, что именно вам нужно. Ещё раз: реализуемый вами алгоритм никому не интересен до тех пор, пока вы внятно не объясните первоначальную задачу - что именно нужно проделать - "имея такие-то данные - получить вот тот-то". Словами. Продуманно. Не ссылаясь на то, что делает ваш уже написанный код. Просто словами. ЧТо должно происходить... Как ещё-то вам можно объяснить-то?
Вам ещё раз повторить? У вас в колонтитуле нет никаких дат. Есть только текст. Даже если он и означает "некий месяц некоего года" - программа этого совершенно не подозревает А "системная дата", если вы этого не знаете, - это число. Да даже если и текст был бы - как сверить "май 2013" и "01.05.13", по какому признаку целый месяц года может соответствовать некоему дню? Вы не думайте, что я прикалываюсь - вы реально попробуйте сформулировать ответ на этот вопрос. Может тогда до вас начнёт доходить, чего вас тут долбят...
Так вы тогда так и рассказывайте: "Макрос должен находить в колонтитуле текст вида <наименование месяца><пробел><год (4 цифры)>, затем сверять текущие месяц/год с найденными в колонтитуле." Или наоборот: "Макрос должен сформировать строку вида "месяц год" по текущей дате, затем найти эту строку в колонтитуле" Или ещё как: ...
Далее, вы там начинаете в тексте из колонтитула, если нашли какую то "типа дату" менять месяц, с чем-то сравнивать... Зачем? У вас в колонтитуле этот текст будет изменяться? Если изменяться - будет вноситься руками или формироваться кодом? Если будет формироваться кодом - то чего же вы тут нам лохматите соответствующую часть тела?
выполнение данного макроса при закрытии файла требование заказчика,как и сам макрос...каким бы не логичным он не казался.
Это ваши проблемы. Вы не понимаете? Вы ещё пока не "заказчику" файл отдаёте, а просите совета на форуме. Так какого же мы обязаны переносить ваш макрос из автозапуска в модуль каждый раз, ибо как его иначе тестировать? А "нелогичность самого макроса" как понимать? "Заказчик" у вас просит "действие", "хочу чтобы я ткнул так - и вылезло вот так", его не интересует ни логика, ни алгоритм, ни средства... Поэтому и мы вам пытаемся дать совет, как можно реализовать то или иное действие, но вы же даже сами, похоже, не определились, что именно вам нужно. Ещё раз: реализуемый вами алгоритм никому не интересен до тех пор, пока вы внятно не объясните первоначальную задачу - что именно нужно проделать - "имея такие-то данные - получить вот тот-то". Словами. Продуманно. Не ссылаясь на то, что делает ваш уже написанный код. Просто словами. ЧТо должно происходить... Как ещё-то вам можно объяснить-то? AndreTM
Skype: andre.tm.007 Donate: Qiwi: 9517375010
Сообщение отредактировал AndreTM - Понедельник, 13.01.2014, 01:50