- PR -

ADODB.Streamで取り込んだwordデータの表示について(ASP)

1
投稿者投稿内容
背古井
常連さん
会議室デビュー日: 2004/04/02
投稿数: 39
投稿日時: 2005-04-28 13:12
お世話になっております。
下記URLのリンク先を元にADODB.StreamでWordファイルを表示するASPを作成しようとしたのですが、読込までは出来ているようなのですが、きちんとしたファイルとして表示されません。
具体的に言いますとWordは立ち上がるのですが、バイナリファイルがそのままWORDに表示されるような形になってしまいます。
ソースは以下の通りです
------- 以下ソース ----------
<%
Response.ContentType = "application/msword"


Const adTypeBinary = 1
Dim strFilePath

strFilePath = "C:\ExcelFiles\xxxxxxxxxxxxxxxxxxxxxxxxxxxxx.doc"

Set objStream = Server.CreateObject("ADODB.Stream")
objStream.Open
objStream.Type = adTypeBinary
objStream.LoadFromFile strFilePath

Response.BinaryWrite objStream.Read

objStream.Close
Set objStream = Nothing

%>

----- 以上ソース
なにか、表示のための処理が必要なのでしょうか?(マイクロソフトのヘルプから直接ぱくっただけなんですが・・・。)存知の方がおられましたら、教えていただけると幸いです。

環境
OS:Windows 2000 pro
MS-WORD 2000
IIS Ver.5.0
Moo
大ベテラン
会議室デビュー日: 2004/04/12
投稿数: 118
お住まい・勤務地: 地球・港
投稿日時: 2005-04-29 23:38
こんにちは。

参考にされたのは
http://support.microsoft.com/kb/276488/en-us
ですね?
引用:

背古井さんの書き込み (2005-04-28 13:12) より:
------- 以下ソース ----------
Response.ContentType = "application/msword"




Response.buffer = TRUE
を追加してみてはどうでしょうか。
_________________
ASP/ASP.NETだいすき。 ASP++ by Moo http://moo-asp.net/
日記は ほぼ毎日更新中 http://d.hatena.ne.jp/aspx/
背古井
常連さん
会議室デビュー日: 2004/04/02
投稿数: 39
投稿日時: 2005-05-11 17:18
返答が遅くなって申し訳ありません
Mooさんのご指摘どおりのところを参照しております

そこで
Response.buffer = TRUE

Response.ContentType = "application/msword"
の前後及び
Response.BinaryWrite objStream.Read
の前後に入れてみましたが、何れの場合もWordは立ち上がるのですが、バイナリファイルがそのままWORDに表示される同一の状態になってしまいます。

この機能は長い日本語名のファイルをダウンロードするのに使用したかったのですが、とりあえずダウンロードするファイルを圧縮して、ファイル名を半角英数にすることで、対応します。
どうもありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)