我想用 VB 用记事本 打开一个HTML文件
请教一个问题我想让VB用记事本打开一个HTML文件,打开后,然后在头上加一个字符并保存退出来...
请教一个问题
我想让 VB 用记事本 打开一个HTML文件,
打开后,然后在头上加一个字符 并保存 退出来 展开
我想让 VB 用记事本 打开一个HTML文件,
打开后,然后在头上加一个字符 并保存 退出来 展开
3个回答
展开全部
觉得你应该是要将指定的字符(S)写入另一个文件(OTHER_FILE)中的指定位置(N)是吧?!
你好,首先用VB binary方式读取OTHER_FILE中的第一到N个字符到变量(L_STR1),再读取N到文件尾的字符个(L_STR2)这样吧,把你要写的字符插入其中(文件中的N处),就是 L_STR1=L_STR1 & S & L_STR2,关闭文件(OTHER_FILE),然后再将L_STR1 用VB binary方式写回文件(OTHER_FILE),OK!如果你要多出插入,请自行想,我有事忙去,拜托!
你好,首先用VB binary方式读取OTHER_FILE中的第一到N个字符到变量(L_STR1),再读取N到文件尾的字符个(L_STR2)这样吧,把你要写的字符插入其中(文件中的N处),就是 L_STR1=L_STR1 & S & L_STR2,关闭文件(OTHER_FILE),然后再将L_STR1 用VB binary方式写回文件(OTHER_FILE),OK!如果你要多出插入,请自行想,我有事忙去,拜托!
展开全部
SendKeys 语句可以将一个或多个按键消息发送到活动窗口,就如同在键盘上进行输入一样。
所以只要是活动窗口就行了,用AppActivate方法可以使记事本变为活动窗口。
'新建一个command1,设置几个其他控件,完成文件名输入,头字符输入等功能
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long) As Long
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Private Const SW_RESTORE = 9
Private Const SW_HIDE = 0
Dim TID As Long, PID As Long, hWindow As Long, hProcess As Long, Ret As Long
Private Sub Command1_Click()
'此处加获取要打开文件路径和名称赋值给sFileName,要加字符赋值给sText
Shell "notepad.exe "+sFileName, vbNormalFocus
'注意"notepad.exe "+sFileName的格式,我无法调试,不保证正确
hWindow = FindWindow("notepad", vbNullString)
TID = GetWindowThreadProcessId(hWindow, PID)
Call ShowWindow(hWindow, SW_RESTORE) '防止记事本是最小化的情况,显示它
AppActivate PID '使焦点在记事本上
Sleep 100 '延时100毫秒
SendKeys {HOME} '定位到文件开头,我忘了按键代码加不加引号了
SendKeys sText 'sText=你要输入的字符
SendKeys {+S} '传递保存快捷键
End Sub
以上仅供参考,我还是建议你用VB的文件操作来处理
所以只要是活动窗口就行了,用AppActivate方法可以使记事本变为活动窗口。
'新建一个command1,设置几个其他控件,完成文件名输入,头字符输入等功能
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Private Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hwnd As Long, lpdwProcessId As Long) As Long
Private Declare Function ShowWindow Lib "user32" (ByVal hwnd As Long, ByVal nCmdShow As Long) As Long
Private Const SW_RESTORE = 9
Private Const SW_HIDE = 0
Dim TID As Long, PID As Long, hWindow As Long, hProcess As Long, Ret As Long
Private Sub Command1_Click()
'此处加获取要打开文件路径和名称赋值给sFileName,要加字符赋值给sText
Shell "notepad.exe "+sFileName, vbNormalFocus
'注意"notepad.exe "+sFileName的格式,我无法调试,不保证正确
hWindow = FindWindow("notepad", vbNullString)
TID = GetWindowThreadProcessId(hWindow, PID)
Call ShowWindow(hWindow, SW_RESTORE) '防止记事本是最小化的情况,显示它
AppActivate PID '使焦点在记事本上
Sleep 100 '延时100毫秒
SendKeys {HOME} '定位到文件开头,我忘了按键代码加不加引号了
SendKeys sText 'sText=你要输入的字符
SendKeys {+S} '传递保存快捷键
End Sub
以上仅供参考,我还是建议你用VB的文件操作来处理
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个操作貌似无需动用外部程序吧?VB本身就有文件处理功能:
dim s as string
open "要打开的html文件名及路径" for binary as #1
s="要加的字符" & input(lof(1),#1)
put #1,1,s
close #1
dim s as string
open "要打开的html文件名及路径" for binary as #1
s="要加的字符" & input(lof(1),#1)
put #1,1,s
close #1
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询