|
看了楼主代码,还是化了很多精力的,不过 用VBA的 AJAX的方法与PHP对接来操作MYSQL,安全性高,代码少 我已经在网站上实现报表直接用EXCEL来打印.或直接用EXCEL与PHP互访.以下仅以与ASP动态网页为例 PHP代码更简单....这里不列出
VBA读取写入远端数据库资料 EXCEL也能做ERP客户端,EXCEL与远程数据库的安会交流
1.动态网页服务器,这里以ASP的IIS为例 建立一ASP文件上传于服务器,代码如下 以下仅只实现数据取得与返回
'文件名 xrfCheck.ASP
<%@LANGUAGE="VBSCRIPT" CODEPAGE="950"%> 设定一下字符编码
<%
Set xmlDOC =server.CreateObject("MSXML.DOMDocument")
' xmlDOC.load(xmlhttp.responseXML) '加载并读取AJAX提交XML字符片段
'str=xmlDOC
str=request.querystring("id")
'输出字符编码格式,解决中文乱码
'PHP:header('Content-Type:text/html;charset=GB2312');
'ASP:Response.Charset("GB2312")
'JSP:response.setHeader("Charset","GB2312");
Response.Charset("big5") '上面定为繁体这就用big5
response.Write(str) '输出即返回数据,可以是XML或其它字符集
//以下可随意写动态网页执行码了.......
%>
'以下为EXCEL里的VBA代码
'如果提示未定义错误,你需要引用组件 c:\windows\system32\msxml.dll
Function checkPart()
Dim Send_Error As String
Dim xml, szURL, StrMsg As String
Dim Det_First, Det_Num, Det_Count, I, J, K As Integer
Const PAUSE_TIME = 300
Dim oXMLHTTP As New MSXML.XMLHTTPRequest
Dim objxmldom As New MSXML.DOMDocument
' objxmldom.LoadXML Confirm.TxtXML '可对Confirm.TxtXML赋值,XML文档字符 ASP中用 xmlDOC.load(xmlhttp.responseXML)读取
szURL = "http://192.168.1.114:8080/xrfCheck.ASP?id=4631"
Send_Error = "Init Send"
oXMLHTTP.Open bstrMethod:="Post", bstrURL:=szURL, VarAsync:=True
oXMLHTTP.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
Send_Error = "Do Send"
' oXMLHTTP.Send objxmldom.xml
oXMLHTTP.Send
Start = Timer
Do While oXMLHTTP.readyState <> 4 And Timer < Start + PAUSE_TIME
DoEvents
Loop
If oXMLHTTP.readyState <> 4 Then
MsgBox ("未完成操作")
End If
MsgBox (oXMLHTTP.responseText)
End Function
|
|