ShellExecute VB声明 Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long 说明 查找与指定文件关联在一起的程序的文件名 返回值 Long,非零表示成功,零表示失败。会设置GetLastError 参数表 参数 类型及说明 hwnd Long,指定一个窗口的句柄,有时候,windows程序有必要在创建自己的主窗口前显示一个消息框 lpOperation String,指定字串“open”来打开lpFlie文档,或指定“Print”来打印它 lpFile String,想用关联程序打印或打开一个程序名或文件名 lpParameters String,如lpszFlie是可执行文件,则这个字串包含传递给执行程序的参数 lpDirectory String,想使用的完整路径 nShowCmd Long,定义了如何显示启动程序的常数值。参考ShowWindow函数的nCmdShow参数
Option Explicit Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long Private Const SW_NORMAL = 1Private Sub Command1_Click() ShellExecute Me.hwnd, vbNullString, "文件地址", vbNullString, vbNullString, SW_NORMAL End Sub
高手,请问您写的第几个是程序代码阿? 您写的代码打开的是word和powerpoint?
你想用什么打开?不是 Word 或者PowerPoint吗?
Option Explicit Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long Private Const SW_NORMAL = 1Private Sub Command1_Click() ShellExecute Me.hwnd, vbNullString, "文件地址", vbNullString, vbNullString, SW_NORMAL End Sub 为什么输入这些代码不起作用阿?
工程-引用 Microsoft Word x.0 Object Library Microsoft PowerPoint x.0 Object Library
例如打开word文档Dim app As New Word.Application app.Documents.Open "C:\test.doc" app.Visible = True Set app = Nothing
'单击菜单 工程 - 部件,出现对话框之后选择 Microsoft Common Dialog Ciontrol 6.0 ,然后确定。然后把工具箱中的 CommonDialog 添加到对话框中。然后在添加一个按钮Option Explicit Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long Private Const SW_NORMAL = 1 Private Sub Command1_Click() CommonDialog1.Filter = "Word 文件(*.doc)|*.doc|演示文稿(*.ppt)|*.ppt" CommonDialog1.FileName = "" CommonDialog1.ShowOpen If CommonDialog1.FileName <> "" Then ShellExecute Me.hwnd, vbNullString, CommonDialog1.FileName, vbNullString, vbNullString, SW_NORMAL End If End Sub
'单击菜单 工程 - 部件,出现对话框之后选择 Microsoft Common Dialog Ciontrol 6.0 ,然后确定。然后把工具箱中的 CommonDialog 添加到对话框中。然后在添加一个按钮Option Explicit Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long Private Const SW_NORMAL = 1 Private Sub Command1_Click() On Error GoTo Error: CommonDialog1.CancelError = True CommonDialog1.Filter = "Word 文件(*.doc)|*.doc|演示文稿(*.ppt)|*.ppt" CommonDialog1.FileName = "" CommonDialog1.ShowOpen If CommonDialog1.FileName <> "" Then ShellExecute Me.hwnd, vbNullString, CommonDialog1.FileName, vbNullString, vbNullString, SW_NORMAL End If
Exit Sub Error: '如果只是想点击了取消按钮之后什么也不做,后面的代码可以不要 If Err.Number = cdlCancel Then '点击了取消按钮 End If End Sub
太谢谢了,太神奇了, 我还想问 我写的让文档自动滚动怎么不好使阿? 代码如下:Private Sub Check1_Click() If Check1.Value = 1 Then Timer1.Enabled = True Else Timer1.Enabled = False End If End Sub 'check1是点击可以自动滚动的按钮 Private Sub Timer1_Timer() SendMessage RichTextBox1.hwnd, SCROLL, 0, 1 End Sub
Option Explicit Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long Private Const EM_SCROLL = &HB5 Private Const SB_LINEDOWN = 1Private Sub Timer1_Timer() SendMessage RichTextBox1.hwnd, EM_SCROLL, SB_LINEDOWN, ByVal 0& End Sub
您太强了,我还想问 Private Sub Save_Click() 打开.CancelError = True On Error GoTo errhandler 打开.Filter = "all files(*.*)|*.*|Text files(*.txt)|*.txt" 打开.FilterIndex = 1 打开.ShowSave filename = 打开.filenameRichTextBox1.SaveFile filename, rtfText errhandler: Exit Sub End Sub 为什么不能保存,编译说filename变量未定义,您能帮我改?
汗~~你怎么用中文命名通用对话框啊 在 Private Sub Save_Click() 后面加上这句 Dim FileName As String
哇~~~ 您太强了,我都不知说什么好了,您再帮我一下,谢谢 slider1或者HScroll1我想让它在播放多媒体(avi,mp3 ,wav等)可以显示播放进度,请您帮一下,谢谢 Private Sub Slider1_Scroll() MMControl1.To = Slider1.Value MMControl1.Command = "seek" MMControl1.Command = "play" End Sub 请您改一下,谢谢 或者您用HScroll1编写也可以
就是我想让slider或者HScroll1控件显示多媒体的播放速度 我用mmcontrol播放多媒体的 Private Sub Slider1_Scroll() MMControl1.To = Slider1.Value MMControl1.Command = "seek" MMControl1.Command = "play" End Sub 您帮我改一下,谢谢
就是我想让slider或者HScroll1控件显示多媒体的播放速度 我用mmcontrol播放多媒体的 Private Sub Slider1_Scroll() MMControl1.To = Slider1.Value MMControl1.Command = "seek" MMControl1.Command = "play" End Sub 您帮我改一下,谢谢
我要晕死~~~~~ '一个 MMControl 控件,一个按钮控件,一个水平滚动条,一个定时器控件,把定时器控件的 Enabled 设置成 False ,Interval 设置成 1000 Option ExplicitPrivate Sub Command1_Click() MMControl1.FileName = "D:\My Documents\My Voice\DownloadVoice\Ge Qu\高山流水.mid" MMControl1.Command = "Open" HScroll1.Min = 0 HScroll1.Max = MMControl1.Length Timer1.Enabled = True MMControl1.Command = "Play" End SubPrivate Sub Timer1_Timer() HScroll1.Value = MMControl1.Position End Sub
Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
说明
查找与指定文件关联在一起的程序的文件名
返回值
Long,非零表示成功,零表示失败。会设置GetLastError
参数表
参数 类型及说明
hwnd Long,指定一个窗口的句柄,有时候,windows程序有必要在创建自己的主窗口前显示一个消息框
lpOperation String,指定字串“open”来打开lpFlie文档,或指定“Print”来打印它
lpFile String,想用关联程序打印或打开一个程序名或文件名
lpParameters String,如lpszFlie是可执行文件,则这个字串包含传递给执行程序的参数
lpDirectory String,想使用的完整路径
nShowCmd Long,定义了如何显示启动程序的常数值。参考ShowWindow函数的nCmdShow参数
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Const SW_NORMAL = 1Private Sub Command1_Click()
ShellExecute Me.hwnd, vbNullString, "文件地址", vbNullString, vbNullString, SW_NORMAL
End Sub
您写的代码打开的是word和powerpoint?
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Const SW_NORMAL = 1Private Sub Command1_Click()
ShellExecute Me.hwnd, vbNullString, "文件地址", vbNullString, vbNullString, SW_NORMAL
End Sub
为什么输入这些代码不起作用阿?
Microsoft Word x.0 Object Library
Microsoft PowerPoint x.0 Object Library
app.Documents.Open "C:\test.doc"
app.Visible = True
Set app = Nothing
您能帮我改改?
工程-部件
Microsoft Common Dialog Ciontrol 6.0
用鼠标放一个Common Dialog控件到窗体上,调用其showopen方法得到文件名(.FileName属性)
CommonDialog1.Filter = "all file(*.*)|*.*|powerpoint(*.ppt)|*.ppt"
CommonDialog1.FilterIndex = 3
CommonDialog1.ShowOpen
ShellExecute Me.hwnd, vbNullString, "c:\1.ppt", vbNullString, vbNullString, SW_NORMAL
End Sub可是必须输入文件地址即c:\1.ppt才能打开?
怎么可以不写c:\1.ppt,从打开的对话框中选择要开的ppt文档?
CommonDialog1.FileName就是选择的文件的文件名
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Const SW_NORMAL = 1
Private Sub Command1_Click()
CommonDialog1.Filter = "Word 文件(*.doc)|*.doc|演示文稿(*.ppt)|*.ppt"
CommonDialog1.FileName = ""
CommonDialog1.ShowOpen
If CommonDialog1.FileName <> "" Then
ShellExecute Me.hwnd, vbNullString, CommonDialog1.FileName, vbNullString, vbNullString, SW_NORMAL
End If
End Sub
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Private Const SW_NORMAL = 1
Private Sub Command1_Click()
On Error GoTo Error:
CommonDialog1.CancelError = True
CommonDialog1.Filter = "Word 文件(*.doc)|*.doc|演示文稿(*.ppt)|*.ppt"
CommonDialog1.FileName = ""
CommonDialog1.ShowOpen
If CommonDialog1.FileName <> "" Then
ShellExecute Me.hwnd, vbNullString, CommonDialog1.FileName, vbNullString, vbNullString, SW_NORMAL
End If
Exit Sub
Error:
'如果只是想点击了取消按钮之后什么也不做,后面的代码可以不要
If Err.Number = cdlCancel Then
'点击了取消按钮
End If
End Sub
我还想问
我写的让文档自动滚动怎么不好使阿?
代码如下:Private Sub Check1_Click()
If Check1.Value = 1 Then
Timer1.Enabled = True
Else
Timer1.Enabled = False
End If
End Sub 'check1是点击可以自动滚动的按钮
Private Sub Timer1_Timer()
SendMessage RichTextBox1.hwnd, SCROLL, 0, 1
End Sub
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const EM_SCROLL = &HB5
Private Const SB_LINEDOWN = 1Private Sub Timer1_Timer()
SendMessage RichTextBox1.hwnd, EM_SCROLL, SB_LINEDOWN, ByVal 0&
End Sub
Private Sub Save_Click()
打开.CancelError = True
On Error GoTo errhandler
打开.Filter = "all files(*.*)|*.*|Text files(*.txt)|*.txt"
打开.FilterIndex = 1
打开.ShowSave
filename = 打开.filenameRichTextBox1.SaveFile filename, rtfText
errhandler:
Exit Sub
End Sub
为什么不能保存,编译说filename变量未定义,您能帮我改?
在 Private Sub Save_Click() 后面加上这句 Dim FileName As String
您太强了,我都不知说什么好了,您再帮我一下,谢谢
slider1或者HScroll1我想让它在播放多媒体(avi,mp3 ,wav等)可以显示播放进度,请您帮一下,谢谢
Private Sub Slider1_Scroll()
MMControl1.To = Slider1.Value
MMControl1.Command = "seek"
MMControl1.Command = "play"
End Sub
请您改一下,谢谢
或者您用HScroll1编写也可以
我用mmcontrol播放多媒体的
Private Sub Slider1_Scroll()
MMControl1.To = Slider1.Value
MMControl1.Command = "seek"
MMControl1.Command = "play"
End Sub
您帮我改一下,谢谢
我用mmcontrol播放多媒体的
Private Sub Slider1_Scroll()
MMControl1.To = Slider1.Value
MMControl1.Command = "seek"
MMControl1.Command = "play"
End Sub
您帮我改一下,谢谢
'一个 MMControl 控件,一个按钮控件,一个水平滚动条,一个定时器控件,把定时器控件的 Enabled 设置成 False ,Interval 设置成 1000
Option ExplicitPrivate Sub Command1_Click()
MMControl1.FileName = "D:\My Documents\My Voice\DownloadVoice\Ge Qu\高山流水.mid"
MMControl1.Command = "Open"
HScroll1.Min = 0
HScroll1.Max = MMControl1.Length
Timer1.Enabled = True
MMControl1.Command = "Play"
End SubPrivate Sub Timer1_Timer()
HScroll1.Value = MMControl1.Position
End Sub