ñîõðàíåíèå äàííûõ â ôàéë Word ïîä çàäàííûì ïî çíà÷åíèþ ïîëÿ èìåíåì |
Private Sub êíÏå÷àòüØàáëîíÈñêàÓïðîù_Click() Dim Name As String Name = Me.Êðàòêîå_íàèìåíîâàíèå 'óêàçûâàåì àáñîëþòíûé ïóòü ê øàáëîíó äîêóìåíòà, ïî êîòîðîìó áóäåì ôîðìèðîâàòü ñâîé äîêóìåíò strPathDot = Application.CurrentProject.Path & "\ÈñêÓïðîù(øàáëîíAccess).dot" 'óêàçûâàåì ïîä êàêèì èìåíåì ñîõðàíÿòü ñîçäàâàåìûé äîêóìåíò strPathWord = CurrentProject.Path & "\" & Forms![Äàííûå]!Êðàòêîå_íàèìåíîâàíèå & ".doc" Call funOutputWord(strPathDot, strPathWord) End Sub 'ôóíêöèÿ âûãðóçêè â Word çíà÷åíèé ïîëåé ôîðìû ÷åðåç çàêëàäêè â øàáëîíå Function funOutputWord(strPathDot As String, strPathWord As String) As Boolean On Error GoTo Err_ Dim DlgUser As Integer, i As Long 'ïðîâåðÿåì íàëè÷èå ñôîðìèðîâàííîãî ðàíåå äîêóìåíòà If Dir(strPathWord) <> "" Then 'åñëè íàøåëñÿ äîêóìåíò ïî çàäàíîìó â strPathWord ïîëíîìó ïóòè (âìåñòå ñ èìåíåì) DlgUser = MsgBox("Äîêóìåíò ñ òàêèì èìåíåì ðàíåå óæå áûë ñîçäàí. Çàìåíèòü åãî?", vbYesNo, "admin") If DlgUser = vbNo Then 'åñëè ïîëüçîâàòåëü âûáðàë Íåò - òî îòêðûâàåì ïðåæíèé âàðèàíò äîêóìåíòà Set app = CreateObject("Word.Application") 'ñîçäàåì îáúåêò Word, ÷òîáû ìîæíî áûëî ðàáîòàòü ñ åãî ìåòîäàìè è ñâîéñòâàìè With app .Visible = True 'çàïóñêàåì ïðèëîæåíèå Word .Documents.Open strPathWord 'îòêðûâàåì äîêóìåíò (ïî ïóòè â ïåðåìåííîé strPathWord) End With Set app = Nothing 'óíè÷òîæàåì ïåðåìåííóþ Else 'åñëè ïîëüçîâàòåëü âûáðàë Äà - òî åñòü ñîãëàñèëñÿ ïåðåçàïèñàòü äîêóìåíò GoTo nn 'ïåðåõîäèì ïî ìåòêå nn End If Else 'åñëè íå íàøëîñü äîêóìåíòà ïî çàäàíîìó â strPathWord ïîëíîìó ïóòè nn: Set app = New Word.Application 'äåëàåì ññûëêó íà îáúåêò Word äëÿ ñîçäàíèÿ íîâîãî äîêóìåíòà app.Visible = True 'çàïóñêàåì ïðèëîæåíèå Word app.Documents.Add strPathDot 'ïðèñîåäèíÿåì ê îáúåêòó Word øàáëîí ïî çàäàíîìó ïóòè With app.ActiveDocument 'äåëàåì ññûëêó íà àêòèâíûé äîêóìåíò - â äàííîì ñëó÷àå òîò ÷òî ôîðìèðóåòñÿ 'íàõîäèì çàêëàäêó ïî èìåíè â çàìåíÿåì åå íà òåêñò èç ïîëÿ ôîðìû .Bookmarks.Item("ïîëíîå_íàèìåíîâàíèå").Range.Text = Nz(Ïîëíîå_íàèìåíîâàíèå, "") .Bookmarks.Item("êðàòêîå_íàèìåíîâàíèå").Range.Text = Nz(Êðàòêîå_íàèìåíîâàíèå, "") .Bookmarks.Item("àäðåñ").Range.Text = Nz(Àäðåñ, "") strPathWord = CurrentProject.Path & "\" & Forms![Äàííûå]!Êðàòêîå_íàèìåíîâàíèå & ".doc" .SaveAs (strPathWord) 'ñîõðàíÿåì ñîçäàííûé äîêóìåíò ïî çàäàííîìó ïóòè strPathWord End With Set app = Nothing 'óíè÷òîæàåì ïåðåìåííóþ End If funOutputWord = True 'ñòàâèì ôëàã óñïåøíîãî âûïîëíåíèÿ ôóíêöèè Exit_: Exit Function Err_: funOutputWord = False Err.Clear app.Quit Resume Exit_ End Function
http://www.sql.ru/forum/1116759/sohranenie-dannyh-v-fayl-word-pod-zadannym-po-znacheniu-polya-imenem
| Êîììåíòèðîâàòü | « Ïðåä. çàïèñü — Ê äíåâíèêó — Ñëåä. çàïèñü » | Ñòðàíèöû: [1] [Íîâûå] |