sawMedlem sedan mars 20011 880 inlägg Jag måste ta reda på var någonstans taggen finns i en HTML-fil, som är innladda i Text1.text.
Om taggen enbart är skrivet som , då har jag inga problem, problem är om
det står någonting mera.
Jag försöker så här:
s = "<body>"
l = InStr(LCase(Text1.text), s)
If l = 0 Then ' 1st spot is string is 1. 0 means "not found"
MsgBox "Hittade ingenting."
Else
MsgBox "Hittat texten"
Text1.SetFocus
Text1.SelStart = l - 1 ' 1st spot for selected text is numbered 0
Text1.SelLength = Len(s) - 1
End If
Om jag skriver så här, så är det inga problem, men om htmlfilen innehåller
"<BODY OnLoad osv> då hittas den inte."
Jag försökte att göra så här:
s = "<body" & "*" & ">"
Men det tycker han inte om. Han hittar ingenting. Hur bör jag lösa detta?
När sedan har hittat taggen, så skulle jag vilja, att efter taggen så skulle det vara ett radbyte, och sedan ville jag få in några rader, ung som nedan:
Dim strNewText As String, s As String, l As Long
With Text1
strNewText = "<!--#include file ="common-lib.asp"-->" & vbCrLf
.SelText = vbNewLine & strNewText
End With
Hur bör jag göra detta?
Nexus86Medlem sedan okt. 20023 030 inlägg Med RegExp.
Dim regxp as Object, oMatch as Object, MatchC as Object
Set regxp = CreateObject("VBScript.RegExp")
regxp.IgnoreCase = True
regxp.Pattern = "<body([^>]?)*>"
Set MatchC = regxp.Execute(Text1.Text)
Set oMatch = MatchC(0)
Text1.SelStart = oMatch.FirstIndex
Text1.SelLength = oMatch.Length
Text1.SelText = vbCrLf & "<!--#include file=""common-lib.asp""-->" & vbCrLf
sawMedlem sedan mars 20011 880 inlägg Hej Nexus86
Det fungerade NÄSTAN perfekt.
Felet är att den tar bort bodytagen, vilket den inte skulle.
Den skulle skapa en ny rad under, och där lägga in includefilen.
Hur bör man göra det??
[REDIGERAT]
Så dumt av mig, det var ju bara att lägga till oMatch
Tusen tack för din hjälp.
Nexus86Medlem sedan okt. 20023 030 inlägg Liten förtydelse av koden. Detta byter bara ut första body-taggen i texten. Om du behöver hitta fler, använd följande:
Dim regxp As Object
Set regxp = CreateObject("VBScript.RegExp")
regxp.IgnoreCase = True
regxp.Global = True
regxp.Pattern = "<body([^>]?)*>"
Text1.Text = regxp.Replace(Text1.Text, vbCrLf & "<!--#include file=""common-lib.asp""-->" & vbCrLf)
R// Denna metod är snabbare eftersom den inte innehåller något grafiskt.