Gå til innhold

Anbefalte innlegg

Skrevet (endret)

Hei igjen dere...

 

Hvordan får jeg det slik at når jeg uncheker checkboxen, så leter den opp teksten "Estetiske forhold" og det som er skrevet i TextBox2. koden .Execute FindText:="Estetiske forhold" & TextBox2.Text fungerer ikke. Er denne koden bare for å finne tekst? Hvordan får jeg letet opp det som står i tekstboxen og merket det?

 

Private Sub CheckBox10_Click()

'Estetiske forhold

 

If CheckBox10.Value Then

Selection.GoTo What:=wdGoToBookmark, Name:="Estetisk"

Selection.Font.Bold = False

Selection.InsertAfter vbCrLf & "Estetiske forhold"

Selection.Font.Bold = False

Selection.InsertAfter vbCrLf & TextBox2.Text & vbCrLf

Else

With Selection.Find

.Forward = True

.ClearFormatting

.MatchWholeWord = True

.MatchCase = False

.Wrap = wdFindContinue

.Execute FindText:="Estetiske forhold" & TextBox2.Text

End With

If TextBox2.Text = Value Then

'Textboxen er tom

Selection.Cut

Selection.Delete

Selection.Delete

Selection.TypeBackspace

Else

'Textboxen har innhold

Selection.Cut

Selection.Delete

End If

End If

End Sub

 

På Forhånd Takk!!

Endret av ronny_pe
  • 2 uker senere...
Videoannonse
Annonse
Skrevet

Har det litt travelt, så har ikke tid til og lese igjennom alt, men på en av de første linjene så jeg:

 

If CheckBox10.Value Then

 

sikker på at det ikke skal være

 

If CheckBox10.Value = True/False Then

Skrevet

(CheckBox10.Value = True) = True, så det spiller ingen rolle.

Jeg insisterer tilogmed på at det er overflødig å sjekke om en bool er true eller false.

 

:= er feil, dette er ikke fortran.

Skrevet (endret)

Er hensikten den jeg tror den er, vil du nok gagne av å heller lagre posisjonen/lengden til teksten i Variables(), fremfor å søke etter den i etterkant. Da får du langt mer kontroll over prosessen, samt kortere kode:

Private Sub chkSetEsthetics_Click()

Dim sToAdd As String

' Først, last inn dette bokmerket
With Bookmarks("Estetisk").Range
	' Fjern eller legg ved tekst
	If chkSetEsthetics Then
		' Lagre lengden på teksten vi legger til
		sToAdd = "Estetiske forhold: " & txtMessage
		Variables("EstetiskLengde") = Len(sToAdd)
		.InsertAfter sToAdd
	Else
		' Bruk ovennevnte data til å fjerne teksten
		.Delete , Variables("EstetiskLengde")
	End If
End With

End Sub

 

For øvrig, CheckBox10 TextBox2 og går her med henholdsvis navn chkSetEsthetics og txtMessage. Du må gjerne endre dette til navnene på dine kontroller, men jeg vil anbefale du velger deg noe mer forklarende. CheckBox10 sier fint lite om hva kontrollen faktisk gjør/er ment til.

Endret av aadnk
Skrevet (endret)
:= er feil, dette er ikke fortran.
Nei, dette er faktisk gyldig i VB-kode. Det brukes når en ønsker å forkorte kall til funksjoner med valgfrie parametere, eksempelvis som følger:

Function Test(Optional First, Optional Second, Optional Last)
' Kode her
End Function

Så, gitt denne funksjonen, kan kallet i utgangspunktet forkortes ved å ikke spesifisere verdi/variabel i enkelte parametere, mens andre utelates:

Test(,"Hallo")

Noe mer besparende og innlysende, især når en kun ønsker å benytte èn enkel parameter, samt ikke har tilgang til Intellisense (VBScript, ect.), blir det å benytte den ovennevnte syntaks:

Test(Second:="Hallo")

Endret av aadnk
Skrevet

Emnetittelen i denne tråden er lite beskrivende for trådens innhold og det er derfor ingen god emnetittel. Jo bedre og mer beskrivende emnetittelen er, jo lettere er det for andre å skjønne trådens innhold og det vil være lettere å treffe den riktige forumbrukeren med det rette svaret. Ber deg derfor om å endre emnetittel slik at du unngår at en moderator stenger tråden. Vennligst forsøk å tenk på dette neste gang du starter en tråd, og orienter deg om hva vår nettikette sier om dårlig bruk av emnetitler.

Bruk p_edit.gif-knappen i første post for å endre emnetittelen.

 

Tråden bryter også med tre-ords-regelen.

 

(Dette innlegget vil bli fjernet ved endring av emnetittel. Ikke kommenter dette innlegget, men ta gjerne og p_report.gif dette innlegget når tittelen er endret, så vil det bli fjernet.)

Skrevet
Men er optionals støttet av VB.NET? trodde man skulle bruker overloading jeg...
Trådstarter sikter vel til VBA her dog?

 

Nåvel. Joda, VB.NET støtter Optionals, men jeg regner med det er mer snakk om bakoverkompatibilitet enn en fullt støttet funksjonalitet. Lik namespacet Microsoft.VisualBasic.

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...