|
|
|
| Помогите, пожалуйста! Очень уж нужно...
Есть форма "Исходящие письма" (для регистрации документов). На ней поля "Дата исходящего", "№ исходящего", "Дата входящего" и т.п. И в том числе поле "Ссылка на документ". Рядом с этим полем кнопка, которая запускает Word и заполняет шаблон письма данными из нужных полей. Процедура такая:
Dim wordApplication As Object
Dim wordDocument As Object
Dim str_Path As String
str_Path = "c:\Секретарь_исходящие\Shablon.dot"
Set wordApplication = CreateObject("Word.Application")
wordApplication.Visible = True
Set wordDocument = CreateObject("Word.Document")
Set wordDocument = wordApplication.Documents.Add(str_Path)
wordDocument.Bookmarks("Дата_исходящего").Select
wordApplication.Selection.Text = Me!Дата_исходящего
wordApplication.Selection.Collapse
wordDocument.Bookmarks("Номер_исходящего").Select
wordApplication.Selection.Text = Me!Номер_исходящего
wordApplication.Selection.Collapse
wordDocument.Bookmarks("Номер_входящего").Select
wordApplication.Selection.Text = Me!Номер_входящего
wordApplication.Selection.Collapse
wordDocument.Bookmarks("Дата_входящего").Select
wordApplication.Selection.Text = Me!Дата_входящего
wordApplication.Selection.Collapse
str_Path = "c:\Секретарь_исходящие\Письмо.doc"
wordApplication.ActiveDocument.SaveAs FileName:=str_Path
Set wordDocument = Nothing
Set wordApplication = Nothing
Шаблон заполняется, но проблема в том, что "Дата входящего" пишется без точек (т.е. вот так: 02032007). Замечу, что поле "Дата входящего" со списком. Может из-за этого? Как же быть? (Без поля со списком не обойтись.)
И еще большая проблема! В поле "Ссылка на документ" содержится ссылка на документ в виде: "/Секретарь_исходящие/Письмо1.doc". Мне нужно, чтобы при нажатии на кнопку открывался шаблон, соответственно заполнялся данными и сохранялся под именем "Письмо1.doc", а следующее - уже под "Письмо2.doc" и так далее, и путь к doc-файлу прописывался в поле "Ссылка на документ". Двойное нажатие по полю должно открывать этот doc-файл. Как это сделать?
Ломаем голову над этим уже который день... Была бы очень благодарна за помощь! | |
|
| |
|
|
|
| format(Me!UpcomeDate,"dd"."mm"."yyyy") поможет? | |
|
| |
|
|
|
| А куда именно это вставлять? | |
|
| |
|
|
|
| везде где есть обращение к полям с форматом даты | |
|
| |
|
|
|
| спасибо, проблема решилась.
но появились еще другие вопросы... | |
|
| |
|
|
|
| >И еще большая проблема! В поле "Ссылка на документ"
>содержится ссылка на документ в виде:
>"/Секретарь_исходящие/Письмо1.doc". Мне нужно, чтобы при
>нажатии на кнопку открывался шаблон, соответственно
>заполнялся данными и сохранялся под именем "Письмо1.doc", а
>следующее - уже под "Письмо2.doc" и так далее, и путь к
>doc-файлу прописывался в поле "Ссылка на документ". Двойное
>нажатие по полю должно открывать этот doc-файл. Как это
>сделать?
Пока писала, ошиблась. В том поле еще ничего не содержиться. А должно вписываться автоматически ссылка на документ в виде: "/Секретарь_исходящие/Письмо1.doc". | |
|
| |
|
|
|
| С датой все получилось!
Но тут же возникла еще одна маленькая деталь. Поля "Дата_входящего", "Номер_входящего" не являются обязательными к заполнению. И при заполнении шаблона программа на этих полях спотыкается и выдает ошибку. Как обойти? Просто чтобы эти поля, если они не заполнены, и в документе оставались пустыми. | |
|
| |
|
|
|
| wordApplication.Selection.Text = nz(Me!Номер_входящего,"") | |
|
| |
|
|
|
| Проблема решилась, спасибо)
А что скажите насчет этого. В поле "Ссылка_на_документ" будет соотвественно хранится ссылки на разные документы. Нужно, чтобы по двойному щелчку открывался документ в Ворде. Я так понимаю, что прописывать надо что-то вроде:
Private Sub Поле36_DblClick(Cancel As Integer)
Dim wordApplication As Object
Set wordApplication = CreateObject("Word.Application")
With wordApplication
.Visible = True
.Documents.Open "А здесь путь к файлу, который написан в поле. Как это сделать, не знаю."
End With
End Sub
Вот. Подскажите, пожалуйста.. | |
|
| |
|
|
|
| в сети есть примеры как из VBA открыть файл в родном для него приложении - поищите внимательнее | |
|
| |
|
|
|
| я бы сделал что-то вроде
wordApplication.Selection.Text = Format(nz([UpcomeDate];"__/__/__");"dd/mm/yy")
чтобы не оставлять непонятное пустое место | |
|
| |