Hejsan Det går väl att göra med ett VBA macro? Fast jag har inte en aning om hur man gör... :) Hej! Jo jag har löst det ungefär som du föreslog..VB-WORD-SQL
Jag behöver koppla ett WORD dokument mot en SQL databas.
Går det ?? Hur gör man ??
Jag har texter i dokumentet som ska uppdateras/ändras från ett VB program. Alla texterna ska sparas i en SQL-databas men jag vill kunna ändra till aktuell text i WORD dokumentet
Några tips??Sv: VB-WORD-SQL
Sv: VB-WORD-SQL
Har jobbat lite med detta för ett tag sedan. Det finns myket du kan göra. Har klippt ut kod ur mitt programm som kopplar ett dokument till en databas. Du måste lägga till MS Word 8.0 Object Library samt DAO Library under References i VB.
Set Wrd = GetObject(, "Word.Application")
If Err.Number = 429 Then ' Word körs inte
Err.Clear
Set Wrd = CreateObject("Word.Application")
If Err.Number <> 0 Then
MsgBox "MS Word finns inte installerat på datorn." & Err.Number
Err.Clear
Exit Sub
End If
End If
DoEvents
' Öppnar mall och kopplar data, sparar som rätt fil
Wrd.Application.Documents.Open strPathMall, ReadOnly:=1
Dim constr
With Wrd.ActiveDocument.MailMerge
.MainDocumentType = wdFormLetters
constr = "DSN=Adress;" & "FIL=RedISAM;"
.OpenDataSource Name:="Adress", _
Connection:=constr, SQLStatement:="SELECT Företag.Namn, Företag.Adress1, Företag.Adress2, Företag.Postnummer, Företag.Postadress, Person.Namn, Dokument.Rubrik, User.Helanamnet FROM (Dokument INNER JOIN User ON Dokument.UserID = User.UserID) INNER JOIN", SQLstatement1:="((Företag INNER JOIN Person ON Företag.FöretagID = Person.FöretagID) INNER JOIN ProjektPersoner ON Person.PersonID = ProjektPersoner.PersonID) ON Dokument.DokumentID = ProjektPersoner.DokumentID WHERE Dokument.DokumentID=" & strNewDokID
End With
DoEvents
Wrd.ActiveDocument.MailMerge.ViewMailMergeFieldCodes = wdToggle
DoEvents
Wrd.ActiveDocument.SaveAs App.Path & "\Brev\" & strFilename
DoEvents
Wrd.Visible = True
Wrd.Activate
Set Wrd = Nothing
DoEvents
Denna kodsnutt hämtar data ur databasen och kopplar till det dokument jag gjort med fält för koppling till databas. Växlar data fälten och sparar.
Hör av det om du behöver mer info!
/DanielSv: VB-WORD-SQL
Jag lägger in <<ETT VARIABELT FÄLT>> . Dessa fält söker jag efter när en uppdatering ska ske.
Om det är en uppdatering ändras det variabla fältet till <<NYTT VARIABELT FÄLT>>. Och om jag spar dokumentet efter ersättningen kommer det nya variabla fältet att finnas kvar till nästa gång jag vill ändra.. :-)
När jag skriver ut dokumentet plockar jag bara bort alla << >> från texterna .
Kanske inte så snyggt men det funkar
Tack för hjälpen //Nettan