Hvordan å fylle en ASP skjemafelt i et Word-fil på serversiden

Ulike oppgaver kan utføres med ASP, slik som websideoppretting og mal generasjon. Siden Microsoft utviklet ASP.NET programmeringsspråk, er det brukes sammen med andre Microsoft-produkter, for eksempel Excel og Word-programmer. ASP er ikke vanskelig å sette opp og bruke fordi programmets motor gjør alt, fra å fullføre jobben og behandling koden for å sende koden til brukerens nettleser for gjennomføring.

Bruksanvisning

1 Start Microsoft Word og klikk på "File" fra menylinjen. Klikk "Lagre som" fra rullegardinmenyen. Når dialogboksen Lagre som dukker opp, klikker du på "black ned-pilen som peker" og velg "Dokument mal (DOT)" fra rullegardinlisten som dokumentformat. Denne malen vil bli lastet med ulike avanserte Microsoft Word-komponenter, for eksempel grafikk og tegning elementer, flettefelt, tekst og sjekk-box skjemafelt, en nestet bunntekst og dynamiske VBA koder.

2 Velg "Vis fra menylinjen og velg" Verktøylinjer "fra rullegardinmenyen. I verktøylinjen er fly-out menyen, klikk på" Skjemaer ", og deretter legge til en" tekstskjemafelt "til dokumentet.

Høyreklikk på "tekstskjemafelt" du har laget og velg "Properties" for å få bokmerket informasjon. Knytt et navn i bokmerkefeltet for å få verdien av flettefeltet du vil lage senere. Sett "Type" til vanlig tekst. Utgangen skal være [____].

3 Velg "Sett inn" fra menylinjen, og velg deretter kategorien "Utskriftsfletting" og "MERGEFIELD" feltnavn. Skriv inn navnet du utpekt til tekstform Feltet bokmerke tidligere etter teksten "MERGEFIELD." Utgangen skal være [Bookmark navn]. Også innspill lykkes VBA-kode for å beskytte dine MailMerge felt fra å bli slettet i malen av andre brukere:

Sub Protect ()

'

'Protect Macro

'

ActiveDocument.Protect wdAllowOnlyFormFields, Sann

End Sub

4 Sett inn følgende kode for å forbedre dokumentet funksjonalitet med makroer. Denne demoen gir brukerne med mange avanserte funksjoner på serversiden database, og det også samle inn og lagre verdiene fra feltene du opprettet for å bli brukt i SendRequest funksjon:

Public Sub Update ()

Dim yn Som VbMsgBoxResult

yn = MsgBox ( "Vil du oppdatere databasen med nye mottaker valg?", vbYesNo, "Update Database?")

Hvis YN = vbNo Deretter

Exit Sub

Slutt om

Dim vals (4) Som Variant

Dim Status As Integer

Hvis ActiveDocument.FormFields ( «chkA"). CheckBox.Value = True Deretter

Status = 1

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

Status = 2

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

Status = 3

Slutt om

vals (0) = "BeneficiaryStatus =" & Status

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

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

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

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

Dim URL As String

Dim reqname As String

Dim httpstatus As Integer

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

reqname = "UpdateBeneficiaries"

På Error Resume Next

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

Hvis err.number & lt;> 0 Then

MsgBox "Feil under sending HotCell forespørsel. Kan ikke kontakte server database oppdatering side." & _

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

vbCritical, "HotCell Request Failed"

Exit Sub

Slutt om

På Error GoTo 0

Hvis httpstatus = 200 Da

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

vbOKOnly, "HotCell Oppdatering Vellykket"

Ellers

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

"Side returnerte en feil Tjeneren returnerte statuskode:." & Httpstatus, _

vbCritical, "HotCell Update Error"

Slutt om

End Sub

5 Tast inn koden under for å aktivere SendRequest funksjonen på dokumentet nær sende skjemaverdier via HTTP til ASP.NET side. Dette vil fylle databasen med skjemafeltene du opprettet mens du holder all informasjonen intakt fra Word-dokumentet mal:

Public Function SendRequest (URL As String, requestname As String, par As Variant) As Integer

Dim strReq As String

Dim oHTTP As Object

'--- Den XMLHTTP objektet trenger form verdier som skal sendes i dette skjemaet:

'--- "Name1 = value1 & navn2 = value2 & NAME3 = verdi3", etc

'--- Vi danner en forespørsel fra dette formatet her

strReq = Bli med (parene, "&")

'--- Bruk XMLHTTP objekt å gjøre HTTP-forespørsel

På Error Resume Next

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

Hvis err.number & lt;> 0 Then

Err.Raise err.number, "HotCellRequest", _

"Kunne ikke opprette XMLHTTP objekt som kreves av HotCells."

Exit Function

Slutt om

På Error GoTo 0

På Error Resume Next

oHTTP.Open "POST", URL, False

Hvis err.number & lt;> 0 Then

Err.Raise err.number, "HotCellRequest", _

"HotCell ikke klarte å koble til" & URL & "" & _

Err.Description

Exit Function

Slutt om

På Error GoTo 0

'--- Vi trenger å sette dette når du sender inn skjemaet data

oHTTP.SetRequestHeader "Content-Type", "application / x-www-form urlencoded"

oHTTP.SetRequestHeader "X-SaHotCellRequest", requestname

'--- Send forespørsel

På Error Resume Next

oHTTP.Send CStr(strReq)

Hvis err.number & lt;> 0 Then

Err.Raise err.number, "HotCellRequest", _

"HotCell mislyktes når du sender data til" & URL & "" & _

Err.Description

Exit Function

Slutt om

På Error GoTo 0

SendRequest = oHTTP.Status

'--- Rydde opp

Sett oHTTP = Nothing

End Function

Hint

  • Det finnes ulike elektroniske opplæringsprogrammer tilgjengelig for gratis som du kan laste ned og øve på. Lær så mange som mulig til å bli kjent med VBA og ASP programmeringsspråk.