Как изменять имя файла в отчёте(rtf)?
Модераторы: m0p3e, edward_K, Модераторы
Как изменять имя файла в отчёте(rtf)?
Компилирую vip-ом в Галактике schet.rtf.
Нужно чтобы у этого отчёта изменялось имя в зависимости по какому счёту делаем этот отчёт.
например если сделаем ончёт по номеру документа 23432/2024, то файлик должен открываться как 23432_2024schet.rtf
отчёт открываем через Окно =Выберите отчет= или можно ctrl + P
Нужно чтобы у этого отчёта изменялось имя в зависимости по какому счёту делаем этот отчёт.
например если сделаем ончёт по номеру документа 23432/2024, то файлик должен открываться как 23432_2024schet.rtf
отчёт открываем через Окно =Выберите отчет= или можно ctrl + P
команда .f 'schet.rtf'
меня впринципи устраивает и она работает.
Например пользователь сформировал rtf отчёт, далее в MS Word меню Файл->Отправить->Сообщение(как вложение) и открывается сразу письмо с вложенным файлом, где остаётся только указать адрес клиента.
Хотелось бы чтобы имя файла во вложении The Bat было не schet.rtf,
а например с префиксом номер документа : 10012_shet.rtf
Имя документа у меня в отчёте есть, его не получается допустим записать в строковую переменную(strSchet := НомерДок) а потом использовать .f strSchet
Может я что то не так делаю?
меня впринципи устраивает и она работает.
Например пользователь сформировал rtf отчёт, далее в MS Word меню Файл->Отправить->Сообщение(как вложение) и открывается сразу письмо с вложенным файлом, где остаётся только указать адрес клиента.
Хотелось бы чтобы имя файла во вложении The Bat было не schet.rtf,
а например с префиксом номер документа : 10012_shet.rtf
Имя документа у меня в отчёте есть, его не получается допустим записать в строковую переменную(strSchet := НомерДок) а потом использовать .f strSchet
Может я что то не так делаю?
-
- Местный житель
- Сообщения: 1844
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
- Контактная информация:
Как тебя это в принципе может устраивать, если .f не поможет задать тебе нужную строку....
Тут тока вордячий макрос писать нада, сохранять шаблоном, наверное...при формировании нужно тебе rtf он там будет. Нужно сразу его будет тока выполнить после формирования документа.
Макрос в теле должен искать, по всей видимости, 'Счет-фактура', далее брать нужные символы номера и подставлять в имя файла ActiveDocument :
ActiveDocument.SaveAs FileName:="c:\debug\123456.doc"
Вообщем надо рисовать нужный макрос и все
Без исходников vip исходников счетов-фактур другого пути я не вижу как это можно сделать, имею тока один линк
Тут тока вордячий макрос писать нада, сохранять шаблоном, наверное...при формировании нужно тебе rtf он там будет. Нужно сразу его будет тока выполнить после формирования документа.
Макрос в теле должен искать, по всей видимости, 'Счет-фактура', далее брать нужные символы номера и подставлять в имя файла ActiveDocument :
ActiveDocument.SaveAs FileName:="c:\debug\123456.doc"
Вообщем надо рисовать нужный макрос и все
Без исходников vip исходников счетов-фактур другого пути я не вижу как это можно сделать, имею тока один линк
А можно и без макросов. Не забываем про VBScript.
Перед .endform добавляем
.begin
LogStrToFile('sendfile.vbs', 'Dim Word');
LogStrToFile('sendfile.vbs', 'Set Word=CreateObject("WordApplication")');
LogStrToFile('sendfile.vbs', 'Dim Doc');
...................
Дальше на VBS пишем процедуру поиска нашего документа, делаем Doc.SaveAs. И по желанию автоматом вызываем Файл->Отправить->Сообщение(как вложение). Вообщем творим что хотим.
....................
LogStrToFile('sendfile.vbs', 'Word.Quit');
ExecProgram(наш vbs);
end.
Перед .endform добавляем
.begin
LogStrToFile('sendfile.vbs', 'Dim Word');
LogStrToFile('sendfile.vbs', 'Set Word=CreateObject("WordApplication")');
LogStrToFile('sendfile.vbs', 'Dim Doc');
...................
Дальше на VBS пишем процедуру поиска нашего документа, делаем Doc.SaveAs. И по желанию автоматом вызываем Файл->Отправить->Сообщение(как вложение). Вообщем творим что хотим.
....................
LogStrToFile('sendfile.vbs', 'Word.Quit');
ExecProgram(наш vbs);
end.