ASP でバイナリ データの読み取りと表示を行う方法

文書翻訳 文書翻訳
文書番号: 193998 - 対象製品
すべて展開する | すべて折りたたむ

目次

概要

この資料では、Active Server Pages でバイナリ データの読み取りと表示を行う方法について説明します。

Scripting.FileSystemObject を使用して ASCII ファイルを開き、その内容を Microsoft Word または Microsoft Excel 形式で Internet Explorer に表示する方法は、広く使用されています。現時点では、マクロを含む Excel ワークシート、Adobe Acrobat (.pdf) ファイル、.gif 画像など、バイナリ データを含むファイルを読み込むための同様のオブジェクトは ASP では直接提供されていません。ただし、ASP 開発者が、この機能を追加するカスタムのビジネス オブジェクトまたはコンポーネントを作成することはできます。

詳細

第 1 部では、適切な MIME の種類を使用してバイナリ データの取得および表示を行う ASP コードを紹介します。第 2 部では、バイナリ データを読み取るために ASP の機能を拡張する Visual Basic 5.0 (またはそれ以降) の ActiveX DLL コンポーネントを紹介します。

第 1 部 : マクロを含む Excel ワークシートを開く ASP サンプル

   <%
   Response.buffer = TRUE
   Response.ContentType = "application/x-msexcel"
   Dim vntStream
   Set oMyObject = Server.CreateObject("MyObject.BinRead")
   vntStream = oMyObject.readBinFile("c:\temp\tempxls.xls")
   Response.BinaryWrite(vntStream)
   Set oMyObject = Nothing
   Response.End
   %>
				

: Acrobat ファイルの場合は、Response.ContentType = "application/pdf" を使用して MIME の種類を変更してください。.gif 画像の場合は、Response.ContentType = "image/gif" を使用します。

第 2 部 : Visual Basic 5.0 の ActiveX DLL (MyObject.BinRead)

バイナリの読み取りを実行するコンポーネントを作成するには、次の手順を実行します。
  1. Visual Basic 5.0 以降で新しい ActiveX DLL プロジェクトを作成します。
  2. プロジェクトの名前を MyObject に変更します。
  3. クラス モジュールの名前を BinRead に変更します。
  4. 次のコードをコピーして、クラス モジュールの General Declarations セクションに貼り付けます。
       Function readBinFile(ByVal bfilename As String) As Variant
              Dim fl As Long
              Dim FileNum As Long
              Dim binbyte() As Byte
              Dim binfilestr As String
              On Error GoTo errHandler
              
              FileNum = FreeFile
              Open bfilename For Binary Access Read As #FileNum
              fl = FileLen(bfilename)
              ReDim binbyte(fl)
              Get #FileNum, , binbyte
              Close #FileNum
              readBinFile = binbyte
              Exit Function
          errHandler:
              Exit Function
          End Function
    						
  5. プロジェクトを保存します。
  6. [ファイル] メニューの [MyObject.dll の作成] をクリックします。
コンポーネントを作成するコンピュータと Web サーバーが異なる場合、コンポーネントを Web サーバーにコピーし、RegSvr32 を使用して登録する必要があります。

第 1 部で作成したファイルを、テキストや他の書式を含む別の ASP ページに組み込むには、サーバー側インクルード ステートメントを使用します。

関連情報

この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 193998 (最終更新日 2005-03-16) を基に作成したものです。

この資料に含まれているサンプル コード/プログラムは英語版を前提に書かれたものをありのままに記述しており、日本語環境での動作は確認されておりません。

プロパティ

文書番号: 193998 - 最終更新日: 2005年5月20日 - リビジョン: 2.4
この資料は以下の製品について記述したものです。
  • Microsoft Visual Basic 5.0 Professional Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic 5.0 Enterprise Edition
  • Microsoft Visual Basic 6.0 Enterprise Edition
  • Microsoft Active Server Pages 4.0
キーワード:?
kbcode kbfso kbhowto kbscript KB193998
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com