Option ExplicitPrivate Sub Command1_Click() Open "C:\Demo.Txt" For Output As #1 Print #1, "ABCDE" Print #1, "set IP=""" & Text1.Text & """" 'Text1 中是你的IP地址 Print #1, "EDCBA" Close #1 End Sub
Dim SouSaveFileName As String Dim DesSaveFileName As String '保存文件名路径 Dim strtmp As String On Error GoTo errinfo Ru: SouSaveFileName = "CheckDB" With CommonDialog1 .DialogTitle = "保存结果" .FileName = "Ch" '名字 .CancelError = False 'ToDo: 设置 common dialog 控件的标志和属性 .Filter = "所有文件 (*.TXT)|*.TXT" .ShowSave DesSaveFileName = .FileName End With '是否覆盖原有文件 If Len(Dir(DesSaveFileName)) > 0 Then '是则继续 否则重新选择文件 If MsgBox("该文件名已存, 是否覆盖原有文件?", vbYesNo) = vbYes Then Kill DesSaveFileName Else GoTo Ru End If End If If Not UCase(SouSaveFileName) = UCase(DesSaveFileName) Then '前后不相同则进行保存 Dim FileNumber As Integer Screen.MousePointer = 11 strtmp = "第一服务:" & servername1 & " 数据库:" & db1 & vbCrLf strtmp = strtmp & "第二服务:" & servername2 & " 数据库:" & db2 & vbCrLf strtmp = strtmp & "--------------------------------------比较日期:" & Date FileNumber = WritePrivateProfileString("服务数据库-------------------------------------------------", "", vbCrLf & strtmp, DesSaveFileName) strtmp = TxtResultTable1 FileNumber = WritePrivateProfileString("第一服务数据库不同表名-------------------------------------------", "", vbCrLf & strtmp, DesSaveFileName) strtmp = TxtResultTable2 FileNumber = WritePrivateProfileString("第二服务数据库不同表名--------------------------------------------", "", vbCrLf & strtmp, DesSaveFileName) Screen.MousePointer = 0 End If
Private Sub Command1_Click() Open "C:\002.txt" For Input As #2 Do Until EOF(2) Line Input #2, nextline p = InStr(nextline, "221.228.255.1") MsgBox p If p <> 0 Then b = "set IP=" & """" & Mid(nextline, InStr(nextline, "221.228.255.1"), 13) & """" End If Loop Close #2 Open "C:\001.txt" For Output As #1 Print #1, "ABCDE" Print #1, b Print #1, "EDCBA" '如果不是另起一行,就加在b的后面
Close #1
我想编写个SETUP程序,产生2个BAT文件: C:\WINDOWS\IN.BAT set NIC="本地连接" set IP="32.114.1.41" set MASK="255.255.255.0" set GW="32.114.1.2" set GM=1 set DNS="32.114.94.2" @netsh interface ip set address name=%NIC% source=static addr=%IP% mask=%MASK% gateway=%GW% gwmetric=%GM% @netsh interface ip set dns name=%NIC% source=static addr=%DNS% @netsh interface ip set wins name="本地连接" source=static addr=noneC:\WINDOWS\OUT.BAT set NIC="本地连接" set IP="221.230.157.11" set MASK="255.255.255.0" set GW="221.230.157.1" set GM=1 set DNS="221.228.255.1" @netsh interface ip set address name=%NIC% source=static addr=%IP% mask=%MASK% gateway=%GW% gwmetric=%GM% @netsh interface ip set dns name=%NIC% source=static addr=%DNS% @netsh interface ip set wins name="本地连接" source=static addr=none 其中IP,GW和DSN从窗口TEXT中读取,读取前先判断一下IP输入是否正确 我是新手编的东西老是通过不了,又找不到原因,不能为继了呀!!!所以请教大家帮帮我.下面是没写完的代码: Private Sub Command1_Click()If Dir(App.Path & "c:\windows\in.bat") <> "" Then Shell "del c:\windows\in.bat", vbMiniimizednoFocus End IfIf Dir(App.Path & "c:\windows\out.bat") <> "" Then Shell "del c:\windows\out.bat", vbMiniimizednoFocus End Ifip1 = Val("Form2.Text1") ip2 = Val("Form2.Text2") ip3 = Val("Form2.Text3") ip4 = Val("Form2.Text4") gateway1 = Val("Form2.Text5") gateway2 = Val("Form2.Text6") gateway3 = Val("Form2.Text7") gateway4 = Val("Form2.Text8") dns1 = Val("Form2.Text9") dns2 = Val("Form2.Text10") dns3 = Val("Form2.Text11") dns4 = Val("Form2.Text12") ip = ip1 < 1 Or ip1 > 250 Or ip2 < 1 Or ip2 > 255 Or ip3 < 1 Or ip3 > 255 Or ip4 < 1 Or ip4 > 255 '判断IP,网关和DNS输入是否正确 gateway = gateway1 < 1 Or gateway1 > 250 Or ipgateway2 < 1 Or gateway2 > 255 Or gateway3 < 1 Or gateway3 > 255 Or gateway4 < 1 Or gateway4 > 255 dns = dns1 < 1 Or dns1 > 250 Or dns2 < 1 Or dns2 > 255 Or dns3 < 1 Or dns3 > 255 Or dns4 < 1 Or dns4 > 255If ip Then MsgBox ("IP输入错误") If gateway Then MsgBox ("网关输入错误") If dns Then MsgBox ("DNS输入错误") If Not (ip And gateway And dns) Then '如果全部输入正确,则生成批处理OUT.BAT 文件 ' ' ' ' '关闭本窗口并激活内网IP输入窗口 End If End SubPrivate Sub Form_Load() Dim ip1, ip2, ip3, ip4 As Integer Dim gateway1, gateway2, gateway3, gateway4 As Integer Dim dns1, dns2, dns3, dns4 As Integer Dim ip, gateway, dns As Boolean End Sub
Option ExplicitPrivate Sub Command1_Click()
Open "C:\Demo.Txt" For Output As #1
Print #1, "ABCDE"
Print #1, "set IP=""" & Text1.Text & """" 'Text1 中是你的IP地址
Print #1, "EDCBA"
Close #1
End Sub
Dim DesSaveFileName As String '保存文件名路径
Dim strtmp As String
On Error GoTo errinfo
Ru:
SouSaveFileName = "CheckDB"
With CommonDialog1
.DialogTitle = "保存结果"
.FileName = "Ch" '名字
.CancelError = False
'ToDo: 设置 common dialog 控件的标志和属性
.Filter = "所有文件 (*.TXT)|*.TXT"
.ShowSave
DesSaveFileName = .FileName
End With
'是否覆盖原有文件
If Len(Dir(DesSaveFileName)) > 0 Then
'是则继续 否则重新选择文件
If MsgBox("该文件名已存, 是否覆盖原有文件?", vbYesNo) = vbYes Then
Kill DesSaveFileName
Else
GoTo Ru
End If
End If
If Not UCase(SouSaveFileName) = UCase(DesSaveFileName) Then '前后不相同则进行保存
Dim FileNumber As Integer
Screen.MousePointer = 11
strtmp = "第一服务:" & servername1 & " 数据库:" & db1 & vbCrLf
strtmp = strtmp & "第二服务:" & servername2 & " 数据库:" & db2 & vbCrLf
strtmp = strtmp & "--------------------------------------比较日期:" & Date
FileNumber = WritePrivateProfileString("服务数据库-------------------------------------------------", "", vbCrLf & strtmp, DesSaveFileName)
strtmp = TxtResultTable1
FileNumber = WritePrivateProfileString("第一服务数据库不同表名-------------------------------------------", "", vbCrLf & strtmp, DesSaveFileName)
strtmp = TxtResultTable2
FileNumber = WritePrivateProfileString("第二服务数据库不同表名--------------------------------------------", "", vbCrLf & strtmp, DesSaveFileName)
Screen.MousePointer = 0
End If
Private Sub Command1_Click()
Open "C:\002.txt" For Input As #2 Do Until EOF(2) Line Input #2, nextline
p = InStr(nextline, "221.228.255.1")
MsgBox p
If p <> 0 Then
b = "set IP=" & """" & Mid(nextline, InStr(nextline, "221.228.255.1"), 13) & """"
End If
Loop Close #2
Open "C:\001.txt" For Output As #1 Print #1, "ABCDE" Print #1, b
Print #1, "EDCBA" '如果不是另起一行,就加在b的后面
Close #1
C:\WINDOWS\IN.BAT set NIC="本地连接"
set IP="32.114.1.41"
set MASK="255.255.255.0"
set GW="32.114.1.2"
set GM=1
set DNS="32.114.94.2"
@netsh interface ip set address name=%NIC% source=static addr=%IP% mask=%MASK% gateway=%GW% gwmetric=%GM%
@netsh interface ip set dns name=%NIC% source=static addr=%DNS%
@netsh interface ip set wins name="本地连接" source=static addr=noneC:\WINDOWS\OUT.BAT set NIC="本地连接"
set IP="221.230.157.11"
set MASK="255.255.255.0"
set GW="221.230.157.1"
set GM=1
set DNS="221.228.255.1"
@netsh interface ip set address name=%NIC% source=static addr=%IP% mask=%MASK% gateway=%GW% gwmetric=%GM%
@netsh interface ip set dns name=%NIC% source=static addr=%DNS%
@netsh interface ip set wins name="本地连接" source=static addr=none
其中IP,GW和DSN从窗口TEXT中读取,读取前先判断一下IP输入是否正确
我是新手编的东西老是通过不了,又找不到原因,不能为继了呀!!!所以请教大家帮帮我.下面是没写完的代码:
Private Sub Command1_Click()If Dir(App.Path & "c:\windows\in.bat") <> "" Then
Shell "del c:\windows\in.bat", vbMiniimizednoFocus
End IfIf Dir(App.Path & "c:\windows\out.bat") <> "" Then
Shell "del c:\windows\out.bat", vbMiniimizednoFocus
End Ifip1 = Val("Form2.Text1")
ip2 = Val("Form2.Text2")
ip3 = Val("Form2.Text3")
ip4 = Val("Form2.Text4")
gateway1 = Val("Form2.Text5")
gateway2 = Val("Form2.Text6")
gateway3 = Val("Form2.Text7")
gateway4 = Val("Form2.Text8")
dns1 = Val("Form2.Text9")
dns2 = Val("Form2.Text10")
dns3 = Val("Form2.Text11")
dns4 = Val("Form2.Text12")
ip = ip1 < 1 Or ip1 > 250 Or ip2 < 1 Or ip2 > 255 Or ip3 < 1 Or ip3 > 255 Or ip4 < 1 Or ip4 > 255 '判断IP,网关和DNS输入是否正确
gateway = gateway1 < 1 Or gateway1 > 250 Or ipgateway2 < 1 Or gateway2 > 255 Or gateway3 < 1 Or gateway3 > 255 Or gateway4 < 1 Or gateway4 > 255
dns = dns1 < 1 Or dns1 > 250 Or dns2 < 1 Or dns2 > 255 Or dns3 < 1 Or dns3 > 255 Or dns4 < 1 Or dns4 > 255If ip Then MsgBox ("IP输入错误")
If gateway Then MsgBox ("网关输入错误")
If dns Then MsgBox ("DNS输入错误")
If Not (ip And gateway And dns) Then '如果全部输入正确,则生成批处理OUT.BAT 文件
'
'
'
'
'关闭本窗口并激活内网IP输入窗口
End If
End SubPrivate Sub Form_Load()
Dim ip1, ip2, ip3, ip4 As Integer
Dim gateway1, gateway2, gateway3, gateway4 As Integer
Dim dns1, dns2, dns3, dns4 As Integer
Dim ip, gateway, dns As Boolean
End Sub