バイナリファイルの出力 †
ページ | OpenOffice.org FAQの登録ページ |
---|---|
投稿者 | 匿名 |
分類 | |
優先順位 | |
状態 | |
カテゴリー | |
投稿日 | 2008-06-02 18:30:44 (月) |
OS | Windows XP |
依存するページ | |
バージョン |
メッセージ †
回答ページでは行末に「~」を付加する必要はありません |
下記のマクロを実行すると
TEST文字列の後ろにゴミ値(何の値かわからない)が
一緒にファイルに出力されてしまいます。
文字列だけ出力したいのですが
出来ないのでしょうか?
いろいろ調べてみたのですが
バイナリファイルの出力は詳細な説明が
見つけられなかったもので・・・
'============================================
'質問マクロ
Dim hFileHandle As Integer
Dim sFileURL As String
sFileURL = ConvertToURL("c:/test.bin")
hFileHandle = FreeFile
Open sFileURL for Binary as #hFileHandle
Print #hFileHandle, "TEST"
Close #hFileHandle
'============================================
取敢えず †
ponkan (2008-06-02 19:29:02 (月))
取敢えず、ヘルプを貼って見たりする。
Open ステートメント [実行時] データチャネルを開きます。 構文: Open FileName As String [For Mode] [Access IOMode] [Protected] As [#]FileNumber As Integer [Len = DatasetLength] パラメータ: ファイル名:開こうとするファイルの名前とパス。存在しないファイルを読み取ろうとすると (Access = Read)、エラーメッセージが表示されます。存在しないファイルを書き込もうとすると (Access = Write)、新しいファイルが作成されます。 モード: ファイルモードを指定するキーワード。有効な値:Append (順編成ファイルに追加する)、Binary (データは、Get および Put を使用してバイトによってアクセスできる)、Input (読み取り用のデータチャネルを開く)、Output (書き込み用のデータチャネルを開く)、および Random (関連ファイルを編集する)。 IOMode: アクセスの種類を定義するキーワードです。有効な値には、Read (読み取り専用)、Write (書き込み専用)、Read Write (読み取りと書き込み) があります。 Protected:オープン後のファイルのセキュリティステータスを指定するキーワード。これには下記の値を指定できます。Shared (ファイルを他のアプリケーションでも開けるようにする)、Lock Read (ファイルを読み取り保護する)、Lock Write (ファイルを書き込み保護する)、Lock Read Write (ファイルアクセスを禁止する)。 FileNumber:使用可能なデータチャネル番号を示す 0 から 511 までの整数表式。オープン後のファイルに対しては、データチャネルを通じてアクセスコマンドを渡せます。ファイル番号は、Open ステートメントの直前で FreeFile 関数を実行して取得する必要があります。 DatasetLength: ランダムアクセスファイル用にレコード長を設定します。
因みに、バイナリファイルに何を書込みするのか判らないですが
あまり意味が無いようにも思いますが・・・
バイナリファイルをエディタなんかで開いても、判読は不能ですよ?
sub test774 fno = Freefile rem Open FileName As String [For Mode] [Access IOMode] [Protected] As [#]FileNumber As Integer [Len = DatasetLength] Open "c:\test.bin" For Binary As fno Len = 32 rem Put #fno,[position],Variable rem ←ヘルプを見ましょう。 Close #fno end sub
Print の代わりに Put †
はにゃ? (2008-06-02 19:34:49 (月))
Print の代わりに Put を使って次のようにすればへんなものが付いてこないと思います。Put #hFileHandle, , "TEST"
解決しました †
匿名 (2008-06-02 20:27:26 (月))
一度、Putにして試したのですが
エラーが出てしまい使えないものだと勘違いしていました。
試したときの引数が間違ってました。
ponkanさん、はにゃ?さん
ありがとうございました。