VB6.0でマイクロソフト・インターネット・トランスファ
・コントロールを使ってFTP転送をしたいのですが。送信
モードの指定(ASCIIかBINARY)はどのようにして設定す
ればよいのでしょうか?FTP転送はStateChangedメソッド
をつかっています。アドバイス宜しくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

レスがないので勝手にサンプルです。



現状の接続方法やASCIIでの取得方法がわからないので、Executeを使用してます。
どうやらOpenURLからやる方法もあるみたいだけど、もしUNIXコマンドを知ってるなら、こっちの方がわかりやすいと思います。僕自身UNIXは詳しくないのですが・・・でも最低限の命令後は学習しました。
FTPソフトを作成するにはUNIXの最低限の命令後の知識は必要だと思います。


Option Explicit

Private gFileLng  As Integer

Private Sub Command1_Click()
  Const URL = "ftp://USERNAME:PASSWORD@ftp.Microxxt.com/test1.g …
  
  gFileLng = FreeFile
  Open "C:\A.GIF" For Binary As #gFileLng
  With Inet1
    .Execute URL, "GET"
  End With
End Sub

Private Sub Inet1_StateChanged(ByVal State As Integer)
  Dim bytAry()  As Byte
  
  Select Case State
    Case icResponseCompleted
      bytAry = Inet1.GetChunk(1024, icByteArray)
      Do
        Put #gFileLng, , bytAry
        DoEvents
        bytAry = Inet1.GetChunk(1024, icByteArray)
        If UBound(bytAry) < 0 Then Exit Do
      Loop
      Close #gFileLng
      MsgBox "受信完了"
  End Select
End Sub
    • good
    • 0

Inet未経験者ですが・・・



アスキー/バイナリの切り替えはフラグではないようです。
データ自信をアスキーで扱うかバイナリで扱うかであって、その扱い方を切り替えなえなければいけないみたいです。

よくファイルの読み取りの時、
Open "FileNeme1" For Input As #1

Open "FileNeme1" For Binary As #1
というのがありますよね?

それと同じイメージでデータをバイナリで開いてそれを送信するようなイメージです。

ちょっと検証してみたいので、
接続
現在できているアスキーモードでの転送
部分のコードを見せてもらえませんか?
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qプロパティのブロック解除について

知り合いに、旅行先で録った写真・動画、自作の音楽等を送ってもらったのですが(サイトにアップして、そのURLからDLするという方法で)、プロパティを開くと

セキュリティ「このファイルは他のコンピュータから取得したものです。このコンピュータを保護するためこのファイルへのアクセスはブロックされる可能性があります」

とあって、横に「ブロック解除」とあります。
この「ブロック解除」をやらないと、そのうち写真が見られなくなったり・・・ということになるんでしょうか??

また、解除する場合は、ひとつずつ解除していかなくては駄目なのでしょうか・・・
いっぺんに出来る方法・・・などありましたらご教授いただけると嬉しいです。

よろしくお願いします。

Aベストアンサー

確か、SP2あたりで強化されたセキュリティで、実行ファイルなんかは、直接実行せずに、一旦確認画面が表示されるようになった機能です。
画像等のデータファイルは直接開く事ができます。

この機能はNTFSフォーマットのHDDに保存した時だけ機能するので、一旦FAT32フォーマットのHDD等にまとめて移動させてやると、セキュリティを全部解除するか、個別に解除するかって確認画面が出てきた筈です。

尚、インターネットのプロパティ-セキュリティ でインターネットのレベルをカスタマイズ で確か機能を無効にも出来た筈なんだが、どの項目だったかは未確認。
ただし、既に保存されたファイルはここで無効にしても、ブロック解除されません。

QVisual Basic6.0 でのFTP転送

Windows NT Visual Basic6.0(SP5)で開発しております。
インターネットトランスファーコントロール(Inet)を使い、EXEファイルを作成し、FTPサーバーに対して、"PUT"処理(InetのExecuteメソッドで)を実行したところ、下記アプリケーションエラーのメッセージが出ます。
「"0x7020e8fa"の命令が"0x7020e8fa"のメモリを参照しました。メモリが"read"になることはできませんでした。」
その後、このWindowのOKボタンをクリックし、落ちます。
但し、同じソースをWindows2000でコンパイルたEXEファイルでWindows2000上で走らせると、正常に動きます。
この正常に動くEXEファイルをWindows NT上で動かすとやはり同じエラーで落ちます。MicrosoftのHPを見ても、VB6.0からは、この問題は解決されているとしか載っておりません。環境設定や、DLL等のVersionの違いからくるのでしょうか?因みに、エラー時にVC++でデバッグすると、VB6.exeがおかしいとか出ておるのですが。

Windows NT Visual Basic6.0(SP5)で開発しております。
インターネットトランスファーコントロール(Inet)を使い、EXEファイルを作成し、FTPサーバーに対して、"PUT"処理(InetのExecuteメソッドで)を実行したところ、下記アプリケーションエラーのメッセージが出ます。
「"0x7020e8fa"の命令が"0x7020e8fa"のメモリを参照しました。メモリが"read"になることはできませんでした。」
その後、このWindowのOKボタンをクリックし、落ちます。
但し、同じソースをWindows2000でコンパイルたEXEファイルでWindows200...続きを読む

Aベストアンサー

IEのバージョンは?

IE6環境で開発し、IE5環境で実行した場合、
wininet.dllのFTP関数が動かないという話は
聞いたことがあります。

QFacebookでブロックした友達をブロック解除すると友達に戻りますか?

Facebookでブロックした友達をブロック解除すると友達に戻りますか?

Aベストアンサー

戻りません。改めて申請するしかないです。

QVB6.0でFTPでのファイルの送受信

VB6.0でFTPでのファイルの送受信(下記(1))をしようと考えております。
尚、コンポーネントは、インターネットトランスファコントロール(Inet)を使用しております。
(1)"リモートサーバーに対して、複数件のファイルを送信し、無事転送が完了したら(リモートサーバー
の指定フォルダに送信された複数件のファイルがあるのを確認後)、
 クライアント側のファイル(リモートサーバーに送信が済んだファイル)を消す"
という処理を考えております。

ここで、質問なのですが
(1)vbを使ったFTP転送で、複数件のファイルを一括転送(mputコマンドの使用)は、可能か?
 (2)もし、(1)が不可能の場合、
   "送信するファイルをputコマンドで1つ送って、リモート側にそのファイルがあるのを
   getコマンドで確認して、もしgetであれば、クライアント側のそのファイルを消す"
という処理を送信するファイル数分繰り返すことになるんですか?
   
   1つのファイルの場合に、Inet1_State_Changeイベントで、ループさせstate = 12 の時(
リモート側に正常に送信されたと考えて)、クライアント側のファイルを消していいのでしょうか?
   VBのヘルプを見ると、state = 12 は、get処理で使用するというようなことを書いてありますが。
   
以上 

VB6.0でFTPでのファイルの送受信(下記(1))をしようと考えております。
尚、コンポーネントは、インターネットトランスファコントロール(Inet)を使用しております。
(1)"リモートサーバーに対して、複数件のファイルを送信し、無事転送が完了したら(リモートサーバー
の指定フォルダに送信された複数件のファイルがあるのを確認後)、
 クライアント側のファイル(リモートサーバーに送信が済んだファイル)を消す"
という処理を考えております。

ここで、質問なのですが
(1)vbを使ったFTP転送で、...続きを読む

Aベストアンサー

フリーソフトのFFFTPを使用したことがありますか?
あれを見てみてはいかがでしょうか?
ソフトが送っているコマンドが見ることができます。

(1)一括は無理です。1ファイルずつの転送になります。
(2)そのとおりです、消して送信の処理が望ましいですが、消さないでも送信することができたと思います。

ちなみにFTPソフトを作成するのであればWinSockを使用したほうがよいと思います。未検証ですが、権限など更新(755みたいに設定すること)の情報はInetでは無理のような気が・・・
未検証なのでなんとも言えませんが、ぼくもFTPソフトを個人で作成中ですが、WinSockのコマンドを使用しています。

QLINEでブロックされてる時に送ったメッセージってブロック中、ブロック解除後、相手には送られませんか

LINEでブロックされてる時に送ったメッセージってブロック中、ブロック解除後、相手には送られませんか?

Aベストアンサー

送られないです。

なので送った側から見ると既読にならないメッセージの後に既読がついたメッセージがあったりします。

QVB6.0でSQLSever2005をつかったプログラム学習

 先月までVB6.0でテキストファイルへシーケンシャルアクセスしデータベースを作成してました。
プログラムが完成しバグも全て直したので次はSQLSever2005に接続しプログラムを改造することになりました。
お薦めの本などがあれば教えてください。
今月は学生時代に読んでいた毎日コミュニケーションズの『使って覚えるSQL Server 2005 』を復習し
何に接続するか決まるまでは技術評論社の『Visual Basic6による「基本」データベースプログラミング』を勉強してました。

Aベストアンサー

レスが付いてないので、あまり参考にはならないかもしれませんが…
挙げられている書籍の内容を知らないので何とも言えない部分はありますが、
タイトルを見る限り、恐らく
・SQL Serverの基本的な使用法、およびSQL文法
・基本的なDBアクセスプログラミング(概念)
ぐらいはご存知なのかと推測します。
ならば、そのDBアクセス知識をSQL Serverに特化するだけで済むのでは?
恐らく、VB6でDBにアクセスする手段としてはADOがメジャーかと思いますので
vb6 ado sqlserver でググってみました。
http://www.google.co.jp/search?hl=ja&q=vb6+ado+sqlserver&lr=lang_ja
そこから目ぼしいサイトを眺めてみれば、事足りるような気もしますが…
例えば下のとことか。
http://jeanne.wankuma.com/tips/vb6/sqlserver/
それで足りなければ書籍購入を考えてみては?
(書籍自体ついては、私は助言できません。
 この内容にピッタリくる書籍は買った事ない(全てヘルプとサンプル閲覧と
 ネット検索で済ませた)し…)

もし、SQL文法等について理解できていないのなら、それも別途ネット検索すれば
いろいろ出てくると思います。
私がSQL関連でよく参照する本は、ソフトバンクの「SQLハンドブック」ですが
これはどちらかと言うとリファレンスに近いしなぁ…

レスが付いてないので、あまり参考にはならないかもしれませんが…
挙げられている書籍の内容を知らないので何とも言えない部分はありますが、
タイトルを見る限り、恐らく
・SQL Serverの基本的な使用法、およびSQL文法
・基本的なDBアクセスプログラミング(概念)
ぐらいはご存知なのかと推測します。
ならば、そのDBアクセス知識をSQL Serverに特化するだけで済むのでは?
恐らく、VB6でDBにアクセスする手段としてはADOがメジャーかと思いますので
vb6 ado sqlserver でググってみました。
http://ww...続きを読む

QLINEをブロックして少したってから解除するのってなんでですか? また、その後(ブロック解除後)に

LINEをブロックして少したってから解除するのってなんでですか?

また、その後(ブロック解除後)にすぐブロックするのは何を考えているんでしょうか…

される側はどんな行動をとるのが一番いいんでしょうか…

Aベストアンサー

気にしすぎ。
SNSやめたらどうですか?

あなたの弱いメンタルでは、また傷つきますよ?

QVB6.0でIEをコントロールする

こんにちは、よろしくお願いします。

私はVBこそ多少さわりますが、仕事上なのでオラクルやMDBとの連携、レポートの作成などしかやった事がありません。

VISUAL BASIC6.0でブラウザ(IE)が制御できるとは思うのですが、
以下の具体的な処理とかも可能でしょうか?

競馬や競艇などの自動投票ソフト使っていて、自作してみたいのですが、
自分はVB位しか触った事がありません。
そういった投票ソフトの多くは、言語は何か解りませんがソフト上でIDやパスワードを設定しておくと、裏で自動でIEを起動し、
認証画面を通過し、買い目を転送して自動投票を実行し、結果や残高等を取得すると言った感じです。
競艇・競馬に限らず、パスワードを求められるページなども同様です。

手動で行う場合にはブラウザ上でパスワードを入力して、ポップアップ画面が出てきたり、
タブで飛んだり、ボタンを押したりをするのですが、このような制御がVBでも出来るのでしょうか?

本やインターネット上で色々探したのですが、
これと言った内容は見つかりませんでした。

後は自分で勉強して作りたいと思っているのですが、
参考になるHPや本、その他参考になる事がありましたら、教えてください。

こんにちは、よろしくお願いします。

私はVBこそ多少さわりますが、仕事上なのでオラクルやMDBとの連携、レポートの作成などしかやった事がありません。

VISUAL BASIC6.0でブラウザ(IE)が制御できるとは思うのですが、
以下の具体的な処理とかも可能でしょうか?

競馬や競艇などの自動投票ソフト使っていて、自作してみたいのですが、
自分はVB位しか触った事がありません。
そういった投票ソフトの多くは、言語は何か解りませんがソフト上でIDやパスワードを設定しておくと、裏で自動でIE...続きを読む

Aベストアンサー

出来ないことはないと思います。
VB6 Tips などのキーワードで検索すれば出てくると思います。

秀和システムからでている Visual Basic 逆引き500の極意 池谷京子 増田智明 木村裕樹 プロジェクトA 著
SOFT BANK Publishing からでている [猫でもわかる ネットワークプログラミング] 粂井康孝 著

など参考になるかもしれません。
ただプログラミングに関しては、同じことをするのでも、いろいろあって、インターネットでやり取りする方法もいろいろあります。
プログラムを組むのに当たって必要となってくるのが
APIに関してだと思います。
私も、最初はヘルプで探すにも何処を探せば良いのかわからなかったほどです。でも、だんだん、やっているうちにわかるようになったときは 嬉しかったです。

もっと、簡単にするならHOT SOUPというフリーのソフトがありEXEファイルを作ることができ、VBのように関数のていぎなどの面倒くささがなくAPIも比較的かんたんに使うことができます。また、他の言語をするときにも、勉強になります。(経験談です)
HOT SOUP に関しては
http://www.onionsoft.net/hsp/
を参考にしてください。

出来ないことはないと思います。
VB6 Tips などのキーワードで検索すれば出てくると思います。

秀和システムからでている Visual Basic 逆引き500の極意 池谷京子 増田智明 木村裕樹 プロジェクトA 著
SOFT BANK Publishing からでている [猫でもわかる ネットワークプログラミング] 粂井康孝 著

など参考になるかもしれません。
ただプログラミングに関しては、同じことをするのでも、いろいろあって、インターネットでやり取りする方法もいろいろあります。
プログラムを組むのに当たっ...続きを読む

Qwindows7のポップアップブロック解除

windows7のポップアップブロック解除の仕方を教えてください。

Aベストアンサー

Windows 7と言うより、Internet Explorer 8のポップアップブロック機能ですよね?
その認識で間違いないようであれば、参考URLをご確認下さい。

参考URL:http://windows.microsoft.com/ja-jp/windows-vista/Internet-Explorer-Pop-up-Blocker-frequently-asked-questions#

QVBAでFTPファイル転送がうまくいかない

利用環境
 access:2003
 os:xp

このサイトを参考にvbaでFTPでファイル転送を実装しようとしています。
http://www.happy2-island.com/access/gogo03/capter90302.shtml


困っているのは、、エラーがでないのですが、ファイルが転送されないということです。
接続先やUserID,パスワードを間違えた場合は、ちゃんとエラーが表示されますので
接続まではできているのではないかと思いますが、最後のFTPファイル転送がうまくいきません。。

インターネットサービスのオープンとFTPサーバへの接続はうまくいっているようですが
fcFTPPutFileの結果が何度やってもFALSEになります。

どのあたりを探れば問題がわかりますでしょうか?
ご教示いただけますと助かります。



'■外部サーバーへファイルをアップロード

Dim lngRC As Long

'インターネットサービスをオープンします
lngRC = fcInternetOpen

'オープンに成功したらFTPサーバとの接続を行います
If lngRC = 0 Then


'FTPサーバへ接続します
lngRC = fcFTPConnect()



'接続に成功したら、FTPサーバからファイルをアップロードします
If lngRC = 0 Then

Debug.Print Err.LastDllError


'●↓この結果がFALSEになってしまい、ファイル転送ができません。。。
Call fcFTPPutFile(送り元ファイルパス&ファイル名_
, 送り先ファイルパス&ファイル名 _
, FTP_TRANSFER_TYPE_ASCII)


Else
MsgBox エラー内容
End If

Else
MsgBox エラー内容
End If



●↓この結果がFALSEになってしまい、ファイル転送ができません。。。
Public Function fcFTPPutFile(dLc As String, dRmt As String, dMd As Long) As Boolean

'dLc /ローカルファイル
'dRmt/リモートファイル
'dMd /転送モード

'FTPサーバへファイルをアップロード
fcFTPPutFile = FtpPutFile(Pub_lngFtpHnd _
, dLc _
, dRmt _
, dMd _
, 0)

End Function

利用環境
 access:2003
 os:xp

このサイトを参考にvbaでFTPでファイル転送を実装しようとしています。
http://www.happy2-island.com/access/gogo03/capter90302.shtml


困っているのは、、エラーがでないのですが、ファイルが転送されないということです。
接続先やUserID,パスワードを間違えた場合は、ちゃんとエラーが表示されますので
接続まではできているのではないかと思いますが、最後のFTPファイル転送がうまくいきません。。

インターネットサービスのオープンとFTPサーバへの接続はうまくいってい...続きを読む

Aベストアンサー

内容はまだ見てませんが・・・・。

当然のことながら、
FTPソフトでファイル転送ができることが前提。

原因を絞り込む。
「FTP」がおかしいのか、
「VBP」がおかしいのか、
判別しなければ進まない。

ファイル転送ですから、ファイルの権限とかは確認。


人気Q&Aランキング

おすすめ情報