-Ïîèñê ïî äíåâíèêó

Ïîèñê ñîîáùåíèé â rss_sql_ru_access_programming

 -Ïîäïèñêà ïî e-mail

 

 -Ïîñòîÿííûå ÷èòàòåëè

 -Ñòàòèñòèêà

Ñòàòèñòèêà LiveInternet.ru: ïîêàçàíî êîëè÷åñòâî õèòîâ è ïîñåòèòåëåé
Ñîçäàí: 16.03.2006
Çàïèñåé:
Êîììåíòàðèåâ:
Íàïèñàíî: 4


ñîõðàíåíèå äàííûõ â ôàéë Word ïîä çàäàííûì ïî çíà÷åíèþ ïîëÿ èìåíåì

Âîñêðåñåíüå, 21 Ñåíòÿáðÿ 2014 ã. 00:31 + â öèòàòíèê
íóæíî ñîõðàíÿòü çàïîëíÿåìûå èç access øàáëîíû word ïî çíà÷åíèþ ïîëÿ "êðàòêîå_íàèìåíîâàíèå".
Ïîêà òàê - íàæèìàåì êíîïêó çàïîëíåíèÿ øàáëîíà, øàáëîí îòêðûâàåòñÿ, çàïîëíÿåòñÿ è ïðåäëàãàåòñÿ ïðîñòî ñîõðàíåíèå ôàéëà ïîä èìåíåì ïî ïåðâîìó ñëîâó (ñòàíäàðòíî â 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


 

Äîáàâèòü êîììåíòàðèé:
Òåêñò êîììåíòàðèÿ: ñìàéëèêè

Ïðîâåðêà îðôîãðàôèè: (íàéòè îøèáêè)

Ïðèêðåïèòü êàðòèíêó:

 Ïåðåâîäèòü URL â ññûëêó
 Ïîäïèñàòüñÿ íà êîììåíòàðèè
 Ïîäïèñàòü êàðòèíêó