Спасибо за советы, но уже все готово (делал через FileDialog), по поводу Common Dialog Control, я знал, но фича требует регистрации
код получился такой, первый скрипт проверяет наличие ссылки, и решает показывать или нет кнопку, второй запускает гиперссылку, третий запускает четвертый, а четвертый делает все остальное
Код | Private Sub Form_Current() 'видимость кнопки If Me![giper] <> "" Then With Me![Кнопка66] .Visible = True End With Else Me![Кнопка66].Visible = False End If End Sub
Private Sub Кнопка66_Click() 'открыть ссылку If Me![giper] <> "" Then Me![Кнопка66].HyperlinkAddress = CurrentProject.Path & Me![giper] Me![Кнопка66].Hyperlink.Follow Else Me![Кнопка66].HyperlinkAddress = "" End If End Sub
Private Sub Кнопка68_Click() getFileName End Sub
Sub getFileName() 'работа с файлом Dim fileName As String Dim result As Integer With Application.FileDialog(msoFileDialogFilePicker) .Title = "Выбор файла" .Filters.Add "Все файлы", "*.*" .Filters.Add "Файлы PDF", "*.PDF" .FilterIndex = 2 .AllowMultiSelect = False .InitialFileName = CurrentProject.Path result = .Show If (result <> 0) Then fileName = Trim(.SelectedItems.Item(1)) Dim fs As New FileSystemObject Dim fsrc As String Dim fdst As String Dim fdst_e As String fsrc = fileName fdst_e = Right(fsrc, 4) If Left(fdst, 1) <> "." Then fdst_e = "." & fdst_e End If fdst = CurrentProject.Path & "\doks\n_p\n_p_" & Me![n_prot_n_p] & "_" & Me![god] & Me![n] & ".pdf" g_fdst = "\doks\n_p\n_p_" & Me![n_prot_n_p] & "_" & Me![god] & Me![n] & ".pdf" On Error GoTo errorhandler If fs.FileExists(fdst) Then If MsgBox("Файл уже существует, заменить?", vbYesNo + vbQuestion, "Внимание") = vbYes Then fs.DeleteFile fdst Else Exit Sub End If fdst = fdst End If If fs.FileExists(fsrc) Then fs.CopyFile fsrc, fdst, False Me![giper] = g_fdst If Me![Кнопка66].Visible = False Then Me![Кнопка66].Visible = True End If DoCmd.DoMenuItem acFormBar, acRecordsMenu, 5, , acMenuVer70 End If Exit Sub errorhandler: MsgBox fdst & " exists" End If End With End Sub
|
|