我不是要在浏览器中打开,而是要用word打开

解决方案 »

  1.   

    用com吧:
    祥见:
    http://www.csdn.net/Develop/Article/12/12689.shtm
    如:
    $word = new COM("C:\docs\word.doc");
      

  2.   

    <?php
    #实例化一个world对象
    $word = new COM("word.application") or die("Unable to instantiate Word"); #输出word的版本
    print "Loaded Word, version {$word->Version}<BR>"; #获知word版本的另一个办法
    $testversion = com_get($word->application,version);
    print "Version using Com_get(): $testversion <BR>";$word->Visible = 1; #打开新文档
    $word->Documents->Add(); #在word文档中输出文字
    $word->Selection->TypeText("This is a test..."); #保存文件
    $word->Documents[1]->SaveAs("Useless test.doc"); #退出word
    $word->Quit(); 
    ?> 
      

  3.   

    $word  =  new  COM("\a.doc")
    Warning: Invalid ProgID, GUID string, or Moniker: 无效的语法 in C:\Inetpub\wwwroot\a.php on line 2
      

  4.   

    你们都试过COM的用法吗?
    我在WINDOWS+IIS+PHP和WINDOWS+APACHE+PHP下都试过,我只能成功的调用
    wordapp=new COM("word.application");
    但是接下去所有的wordapp->visible等等method统统invoking错误,不知道是php.ini的原因还是必须CGI方式执行php。
      

  5.   

    楼上的
    $wordapp = new COM ("word.application");你没加$,COM 对象的属性和方法不用加$。
    For Example:
    $connstr="dbq=……";
    $dbconn= new COM ("ADODB.Recordset");
    $dbconn->open $connstr;COM() 的参数应该是COM 对象名,而不是文件名!
      

  6.   

    to darkwing() :
    我这个是笔误,如果我的程序中真的没有$,连这句都不会通过,何况后面的语句呢?
      

  7.   

    搞的这么复杂干什么?直接把word文档连接上不就行了?
    比如:http://127.0.0.1/1.doc
    如果客户装了word的话,就会直接用word打开!
      

  8.   

    我又试过了,可以读写文件,但是不能显示word的窗口。
      

  9.   

    COM支持跟php版本有关,如果有问题,最好升一下级。
      

  10.   

    测试了一下,没有报错,可以读取word版本号,但创建不了Useless test.doc。测试环境:
    php4.0.4+apache_1_3_14+win2k.页面结果:
    Loaded Word, version 9.0
    Version using Com_get(): 9.0
      

  11.   

    创建的doc文档在word默认的保存目录里,serach一下,要不然就在SaveAs里用完整的路径名。
      

  12.   

    <?
    // 建立一个指向新COM组件的索引
    $word = new COM("word.application") or die("Can't start Word!");
    // 显示目前正在使用的Word的版本号
    echo "Loading Word, v. {$word->Version}<br>";
    // 把它的可见性设置为0(假),如果要使它在最前端打开,使用1(真)
    // to open the application in the forefront, use 1 (true)
    $word->Visible = 1;
    // 在Word中创建新的文档
    $word->Documents->Add();
    // 在新文档中添加文字
    $word->Selection->TypeText("Testing 1-2-3...");
    //把文档保存在Windows临时目录中
    $word->Documents[1]->SaveAs("/Windows/temp/comtest.doc");
    // 关闭与COM组件之间的连接
    $word->Quit();
    // 在屏幕上显示其他信息
    echo "Check for the file...";
    ?>