Hoe om te vullen een ASP-formulierveld in een Word-bestand aan de serverkant

Verschillende taken kunnen worden uitgevoerd met ASP, zoals webpagina's maken en sjabloon generatie. Aangezien Microsoft de ASP.NET-programmeertaal ontwikkelde, is het interoperabel met andere Microsoft-producten zoals Excel en Word-programma's. ASP is niet moeilijk te installeren en te gebruiken omdat de toepassing van de motor alles, doet van de afwerking van het werk en de verwerking van de code voor het verzenden van de code naar de browser van de gebruiker voor uitvoering.

Instructies

1

Start Microsoft Word en klik op 'Bestand' in de menubalk. Klik op 'Opslaan als' uit het drop-down menu. Wanneer het dialoogvenster Opslaan als verschijnt, klik op de "zwarte omlaag wijzende pijl" en kies "documentsjabloon (* .dot)" uit het drop-down lijst als de documentindeling van uw. Deze sjabloon wordt geladen met diverse geavanceerde componenten van de Microsoft Word, zoals afbeeldingen en tekenelementen, samenvoegvelden, tekst en -selectievakje formuliervelden, een geneste voettekst en dynamische VBA-codes.

2

Kies "uitzicht vanaf de menubalk en selecteer"Werkbalken"uit het drop-down menu. In de werkbalk vlieg-uit menu, klik op "Formulieren", en vervolgens een "tekstformulierveld" aan uw document toevoegen.

Klik met de rechtermuisknop op de "tekstformulierveld" u hebt gemaakt en kies "Eigenschappen" om de bladwijzer informatie te verkrijgen. Het koppelen van een naam in het Bookmark-veld om de waarde van het samenvoegveld u later maakt te verkrijgen. Stel het "Type" naar gewone tekst. De output moet [_].

3

Kies 'Insert' in de menubalk en selecteer vervolgens de categorie "Mail Merge" en de naam van het veld "MergeField". Typ de naam die u aan uw bladwijzer tekstformulierveld aangewezen eerder na de tekst "MERGEFIELD." De output moet [de naam van de bladwijzer]. Ook, voer de volgende VBA-code om te voorkomen dat uw MailMerge velden door andere gebruikers in uw sjabloon wordt verwijderd:

Sub Protect()

'

' Macro beschermen

'

ActiveDocument.Protect wdAllowOnlyFormFields, True

End Sub

4

Voeg de volgende code om de functionaliteit van uw document met macro's te verbeteren. Deze demo biedt uw gebruikers met veel geavanceerde functies op de server-side-database, en het ook verzamelen en opslaan van de waarden uit de velden van het formulier die u hebt gemaakt om te worden gebruikt in de functie SendRequest:

Public Sub Update()

Dim yn As VbMsgBoxResult

yn = MsgBox ("you want to bijwerken naar de database met uw nieuwe begunstigde selecties?", vbYesNo, "Update Database?")

Als yn = vbNo Then

Exit Sub

End If

Dim vals(4) As Variant

Dim Status As Integer

Als ActiveDocument.FormFields("chkA"). CheckBox.Value = True Then

Status = 1

ElseIf ActiveDocument.FormFields("chkB"). CheckBox.Value = True Then

Status = 2

ElseIf ActiveDocument.FormFields("chkC"). CheckBox.Value = True Then

Status = 3

End If

vals(0) = "BeneficiaryStatus =" & Status

vals(1) = "primair1 =" & Trim(ActiveDocument.FormFields("Primary1"). Resultaat)

vals(2) = "primair2 =" & Trim(ActiveDocument.FormFields("Primary2"). Resultaat)

vals(3) = "Contingent1 =" & Trim(ActiveDocument.FormFields("Contingent1"). Resultaat)

vals(4) = "Contingent2 =" & Trim(ActiveDocument.FormFields("Contingent2"). Resultaat)

Dim URL As String

Dim reqname As String

Dim httpstatus As Integer

URL = "http://localhost/Demos/OfficeWriter/PostOne/BeneficiarySelection.aspx"

reqname = "UpdateBeneficiaries"

On Error Resume Next

httpstatus = HotCellRequest.SendRequest(URL, reqname, vals)

If Err.Number <> 0 Then

MsgBox "Error sending HotCell request. Could not contact server database update page." & _

vbCrLf & "Details: " & Err.Description, _

vbCritical, "HotCell Request Failed"

Exit Sub

End If

Op Error GoTo 0

Als httpstatus = 200 Then

MsgBox "You have successfully submitted your Beneficiary selections.", _

vbOKOnly, "HotCell Update Succeeded"

Anders

MsgBox "The HotCell database update did not succeed. The server-side database update " & _

"page returned an error. The server returned status code: " & httpstatus, _

vbCritical, "HotCell Update Error"

End If

End Sub

5

Voer de code hieronder om de functie van de SendRequest op document dicht bij verzenden het formulier via HTTP naar de ASP.NET-pagina waarden. Dit zal bevolken de database met de velden van het formulier die u hebt gemaakt terwijl het intact houden van alle informatie uit het Word-documentsjabloon:

Publieke functie SendRequest(URL As String, requestname As String, pairs As Variant) As Integer

Dim strReq As String

Dim oHTTP As Object

'---Het XMLHTTP object moet formulierwaarden worden gestuurd in deze vorm:

"---" naam1 = waarde1 & naam2 = waarde2 & Naam3 = Waarde3 ", enz

'---wij bent de vorming van een verzoek van dat formaat hier

strReq = Join (paren, "&")

'---Het XMLHTTP-object gebruiken om het HTTP-verzoek doen

On Error Resume Next

Set oHTTP = CreateObject("Msxml2.XMLHTTP.3.0")

If Err.Number <> 0 Then

Err.Raise Err.Number, "HotCellRequest", _

"Could not create XMLHTTP object which is required by HotCells."

Exit Function

End If

Op Error GoTo 0

On Error Resume Next

oHTTP.Open "POST", URL, False

If Err.Number <> 0 Then

Err.Raise Err.Number, "HotCellRequest", _

"HotCell failed to connect to " & URL & " " & _

Err.Description

Exit Function

End If

Op Error GoTo 0

'---Moeten we dit wanneer het indienen van formuliergegevens

oHTTP.SetRequestHeader "Content-Type", "application/x-1-800-www-Dell-vorm-urlencoded"

oHTTP.SetRequestHeader "X-SaHotCellRequest", requestname

'---De aanvraag verzenden

On Error Resume Next

oHTTP.Send CStr(strReq)

If Err.Number <> 0 Then

Err.Raise Err.Number, "HotCellRequest", _

"HotCell failed when sending data to " & URL &" " & _

Err.Description

Exit Function

End If

Op Error GoTo 0

SendRequest = oHTTP.Status

'---Opschonen

Set oHTTP = niets

End Function

Tips & waarschuwingen

  • Er zijn verschillende online tutorials gratis beschikbaar dat u kunt downloaden en op de praktijk. Leer zoveel als je kunt om vertrouwd te raken met VBA en ASP-programmeertalen.