本文目錄一覽:
- 1、vb來操作HTML中的javascript代碼
- 2、VB 運行JS腳本
- 3、VB里js是什麼意思?比如private sub js()
- 4、怎麼樣在VB中直接調用JavaScript
- 5、用VB寫一個能被JavaScript調用的DLL
- 6、利用vb裡面加入自己編寫的JavaScript程序。怎麼弄?
vb來操作HTML中的javascript代碼
Dim code As Object
Set code = CreateObject(“ScriptControl”)
code.Language = “JavaScript”
查詢一下如何使用 VBS ScriptControl
VB/VBS 動態執行 代碼
我們有時候需要在程序中動態執行一段string類型的代碼,類似js中的eval函數,
下面的操作可以滿足這一要求。
(有一點要注意,ScriptControl 調用的是vbs,有的vb的函數不能用,如val )
我們需要使用ScriptControl
在部件中添加MS Script Control 1.0
在窗體中添加一個MS Script Control
使用方法如下:
ScriptControl1.Language = “VBScript” ‘定義語言
ScriptControl1.AddObject “Text1”, Text1 ‘添加控件,否則在執行時無法調用,
‘需要什麼控件添加什麼就行
ScriptControl1.ExecuteStatement(“Text1.Text=””12345″””) ‘執行語句
也可以用ScriptControl1.AddCode來添加函數
如:
ScriptControl1.AddObject “Label1”, Label1
ScriptControl1.AddCode “sub Test() label1=””hello”” end sub” ‘定義了一個函數test
ScriptControl1.Run (“test”) ‘調用函數test甚至可以給添加的函數加上參數,如:
ScriptControl1.AddObject “Label1”, Label1
ScriptControl1.AddCode “sub test(str)” vbCrLf ” label1=str ” vbCrLf ” end sub”
ScriptControl1.Run “test”, “Hello” ‘第二個參數是一個Variant型的數組,用來傳遞函數test的參數
VB 運行JS腳本
試試這個 Private Function Unescape(ByVal pstrInput As String) As String
Dim objScrCtl As Object
Set objScrCtl = CreateObject(“MSScriptControl.ScriptControl”)
objScrCtl.Language = “JavaScript”
Unescape = objScrCtl.Eval(“unescape(‘” pstrInput “‘)”)
Set objScrCtl = Nothing
End Function
VB里js是什麼意思?比如private sub js()
VBA的代碼和vbs、js的代碼雖然在語法有相似之處,但是結構完全不一樣,VBA為編譯代碼,腳本為解釋代碼,兩者不能實現直接交互,只能通過間接交互實現
這裡通過VBScript修改瀏覽器標題,觸發VB內部的TitleChange而實現交互
網頁代碼:
a onclick=VBScript:document.title=”VB:test(‘X’,’Y’,’Z’)”文字/a
窗體代碼:
Option Compare Text
Private Function Test(S1, S2, S3)
MsgBox S1 S2 S3
End Function
Private Sub Form_Load()
WebBrowser1.Navigate “e:\1.htm”
End Sub
Private Sub WebBrowser1_TitleChange(ByVal Text As String)
If Left(Text, 3) = “VB:” Then
Dim s As String, fncName As String, l As Long, args
s = Mid(Text, 4)
s = Replace(s, “(“, ” “)
s = Replace(s, “)”, ” “)
l = InStr(s, ” “)
fncName = Trim(Left(s, l – 1))
args = Split(Mid(s, l), “,”)
For i = 0 To UBound(args)
args(i) = Trim(args(i))
Next
Select Case fncName
Case “test”
Test args(0), args(1), args(2)
End Select
Else
Caption = Text
End If
End Sub
怎麼樣在VB中直接調用JavaScript
Private Sub Form_Load()WebBrowser1.Navigate ” “End SubPrivate Sub Command1_Click()Set WBDocument = WebBrowser1.DocumentWBDocument.parentWindow.execScript “formSub()”, “javascript”‘調用End Sub
用VB寫一個能被JavaScript調用的DLL
‘創建一個active dll工程,將默認的類名class1改成TestPass,工程名改為Testdll,然後添加如下代碼:
Public Function pass(a, b) As Integer
pass = Val(a) * Val(b)
End Function
編譯成Testdll.dll,用regsvr32註冊
建立一個html文件,內容為:
script
var result,mylen,ret;
var activedll = new ActiveXObject(“Testdll.TestPass”);
result = activedll.pass(9,2);
alert(result);
/script
雙擊html文件運行,有安全警告提示的話點是放過。
代碼下載:
利用vb裡面加入自己編寫的JavaScript程序。怎麼弄?
在Visual Studio中打開一個已經存在的asp.net應用程序。
然後打開Internet 信息服務(IIS)管理器,把“啟用 ASP 服務器端腳本調試”和“啟用 ASP 客戶端腳本調試”兩個複選框選中即可。
JavaScript(縮寫為JS)是一種高級的、多範式、解釋型的編程語言,是一門基於原型、函數先行的語言,它支持面向對象編程、命令式編程以及函數式編程。它提供語法來操控文本、數組、日期以及正則表達式,不支持I/O(比如網絡、存儲和圖形等),但可以由它的宿主環境提供支持。它已經由ECMA(歐洲計算機製造商協會)通過ECMAScript實現語言的標準化。它被世界上的絕大多數網站所使用,也被世界主流瀏覽器支持。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/291144.html