高手帮忙,怎么使一个文件格式与一个程序关联起来,当点击这类文件时可以用程序打开,并且vb程序中怎么编写,才能读写这类文件

解决方案 »

  1.   

    文件关联主要是修改注册表,这有个参考代码,使用wscriptshell:
    exepath = App.Path & "\" & App.EXEName & ".exe %1"   '当前程序的路径
    iconpath = App.Path & "\" & App.EXEName & ".exe"
      Dim w As Object    Set w = CreateObject("wscript.shell")    w.regwrite "HKEY_CLASSES_ROOT\.eag\", "eagfile", "REG_SZ"      '关联.eAg文件
        w.regwrite "HKEY_CLASSES_ROOT\eagfile\shell\open\command\", exepath, "REG_SZ"
        w.regwrite "HKEY_CLASSES_ROOT\eagfile\DefaultIcon\", iconpath, "REG_SZ"    '    Set w = Nothing
      

  2.   

    再给个参考网页:http://topic.csdn.net/t/20000820/06/25926.html#
      

  3.   

    先修改注册表,之后你的文件相当于程序的一个参数,此时在程序中调用此参数:vba.command即可,至于怎么打开文件并读取就不用说了吧。
    给个简单的示例:Option ExplicitPrivate Sub Command1_Click()
    Dim exepath, iconpathexepath = App.Path & "\" & App.EXEName & ".exe %1" '当前程序的路径
    iconpath = App.Path & "\" & App.EXEName & ".exe"
    Dim w As ObjectSet w = CreateObject("wscript.shell")w.regwrite "HKEY_CLASSES_ROOT\.eag\", "eagfile", "REG_SZ" '关联.eAg文件
    w.regwrite "HKEY_CLASSES_ROOT\eagfile\shell\open\command\", exepath, "REG_SZ"
    w.regwrite "HKEY_CLASSES_ROOT\eagfile\DefaultIcon\", iconpath, "REG_SZ" 'Set w = NothingEnd SubPrivate Sub Form_Load()
        MsgBox VBA.Command
    End Sub运行,点击按钮,之后双击一个“.eag”文件,程序会自动弹出,并弹出该文件名的一个对话框。
      

  4.   

    忘说了,记得要编译成exe再点按钮啊
      

  5.   

    当后缀名已经和程序关联上了时,在vb程序中VBA.Command是传递点击文件的路径,通过文件的路径就可以在程序中读取被点击的文件了!谢了!