|
|
|
| Пожалуйста, помогите решить проблему. У меня есть набор шаблонов Word с таблицами, которые нужно заполнять данными. Мне нужно прочитать заголовок столбца таблицы, чтобы определить, какие данные нужно в него вывести. Пробую так:
Set MyRange = app.ActiveDocument.Tables(1).Cell(1, НомерСтолбца).Range
VsStr = MyRange.Text
К сожалению, прочитанную таким образом строку не удается проанализировать оператором Like, возможно из-за того, что она содержит специальную информацию - разрыв строки, конец абзаца, конец ячейки и т.п. (при наведении курсора на переменную VsStr кроме текста отображаются еще прямоугольники).
Помогите получить просто текст. Access 2000.
P.S. Закладки использовать не могу в силу специфики задачи. | |
|
| |
|
|
|
| попробуйте определить, что это за "специальные" символы.
перед разбором строки замените их все на " " (пробел) с помощью Replace | |
|
| |
|
|
|
| Спасибо, а можно это определить, не заглядывая в шаблон. Шаблоны делают пользователи, все отследить не получается. Как проверить наличие специального символа в строке? | |
|
| |
|
|
|
| ну я вижу 2 пути
1-й: предположить что эти символы это перевод строки и соответственно заменить в строке все CHR(10) и chr(13) на пробелы.
2-й создать таблицу (массив) "допустимых" символов, анализировать строку, при наличии недопустимого - удалять или заменять на допустимый. Но в этом случае уже и смысла нет что-то заменять поскольку Вы и так будете анализировать строку, так что можно искать не спец. сомволы, а искомый набор
Вообще возник вопрос... можеты быть искать не фразами а словами? тогда должно находить.. или у ВАс в середине слова может быть спецсимвол? | |
|
| |
|
|
|
| Нет, слова не разрываются, но когда строка сформирована так: "Номер+РазрывСтроки+группы" и я проверяю Like "*номер*", то получаю ответ False. Не могу понять, почему. | |
|
| |
|
|
|
| В таблицах шаблонов в первых ячейках каждого столбца вставьте закладку.
Обращаясь к закладке Вы точно будете попадать на заголовок столбца который Вам требуется не зависимо каким он по счету в таблице, и далее делайте что хотите
MsgBox ActiveDocument.Bookmarks("ЗакладкаДляСтолбца").Range.Cells(1).Column.Index
|
| |
|
| |
|
|
|
| Спасибо! Мне понравилась идея, точно сработает! В данном случае - это, наверное, наилучшее решение.
P.S. Все-таки хотелось бы знать на будущее, как определить наличие в строке Word / добавить в строку Word символы "разрыв строки" и "конец абзаца". | |
|
| |
|
|
|
| а как же
"Закладки использовать не могу в силу специфики задачи."
Вопрос риторический, можно игнорировать | |
|
| |
|
|
|
|
| В ворде на столько много спец символов, что я бы не стал с этим возиться.
Например:
- Кроме пробела существует "неразрывный пробел", "1/4 пробела"
- тире бывает коротким и длинным, причем на длинное ворд меняет сам, когдае ему вздумается
и т.д. и т.п.
Но это ИМХО | |
|
| |
|
|
|
| Ну раз пользователи шаблоны создают, то пусть и код пишут сами.
Не забывайте, он, пользователь, создан для вставления палок в колеса программиста :), и как только Вы научитесь отлавливать спец символы абзацца, переноса, он, пользователь, начнет вставлять tab.
После того как вы и его отлвите , вставит еще чего нибудь авторское право, параграф, рожицу.
И я не шучу, напишите в ворде двоеточие и закрывающиюся скобку.
По моему, этот путь череват большим гемороем и постоянными разборками с пользователями. | |
|
| |
|
|
|
|
| К сожалению, я не могу все шаблоны создавать сама. Я разрабатываю программу для планово-договорного отдела в институте повышения квалификации. Они работают с 10000 организаций, причем каждая третья хочет иметь свою собственную форму договора, счета, счета-фактуры, акта выполненных работ и прочих подобных документов. Каждый документ имеет одну форму, если туда включен налог НДС, и другую, если он не включен, есть и еще масса нюансов. Чтобы делать все самой, мне нужно там работать, а не просто приезжать с новой версией 2 раза в неделю. Оформление документов, как правило, идет в первые часы после поступления заявки от организации.
Вот, нажаловалась. Может быть посоветуете что-нибудь дельное . | |
|
| |
|
|
|
| начну из далека... раньше была (а может и сейчас есть, просто ятеперь далек от этого) программа предоставления данных в ПФР.... более кривую программу еще нужно поискать...
Но к ней был совершенно замечательный анализатор отчетов (автор которого всячески открещивался от самой программы подготовки данных). Так вот этот анализатор проверял отчет и выдавал в какой строке какая ошибка....
К чему это я все? а вспомнил.. может создать что-то подобное для шаблонов? Т.е. если перед использованием шаблона тестировать его анализатором и если что-то не нравится сообщать "идите лесом у вас плохие символы в таких-то строках"
Пока ничего более приличного в голову не пришло | |
|
| |
|
|
|
| Большое спасибо за идею! Обязательно попробую! | |
|
| |
|
|
|
| Марин, пошлите вы их, в ... 1С.
Вот там пусть и создают свою кучу шаблонов, если им чего не нравится.
Я Вам как бывший гл.бухгалтер говорю - если в счете, счете-фактуре, акте присутствуют все поля установленные законом, то ни какая организация не имеет права требовать у вас какую-то другую форму, да и не станет. Вас кто-то разводит, пытаясь, как мне кажется, саботировать переход на вашу программу (например, бухгалтера в этой части большие консерваторы)
Работая с 10 000 организация, под каждую создавать особый договор?.... для этого надо иметь в штате не менее 100 юристов. (А если я как клиент потребую особый шрифт для оформления договора, которого нет в организации?...)
Можно иметь 1, 2, 5 шаблонов на все случаю в жизни, и если уж клиенту очень хочется поменять местами пару слов в договоре, то совсем не надо для этого создавать новый шаблон.
Как совет, требуйте, что бы Вам предоставили все типовые шаблоны документов и договоров, которые Вы встроите в программу. Все отклонения и дополнения по требованию клиента сотрудники будут вносить сами.
А что бы ответить на вопрос, что делать если будут возникать, - прочитайте это сообщения с самого начала. | |
|
| |
|
|
|
| Osmor и АлексейЕ, большое спасибо за помощь и поддержку! | |
|
| |
|
|
|
| Мария, я тоже Вас поддерживаю !
Сволочи они. | |
|
| |