VBでフォルダ単位のFTP(GET,PUT)はできるのでしょうか?
また、そのサンプルファイルがありましたら、教えて下さい。
ファイル単位での、サンプルファイルはあったのですが、
それを、フォルダ単位に改造する知識がまだないのです。
よろしくお願い致します。

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

A 回答 (6件)

こんにちは 田吾作7@通信苦手です。

。。

二つ例を挙げておきますね。
kernel32.dllを使用した場合
http://www.mitene.or.jp/~sugisita/family/papa/vb/
上記URLのコンポーネントの中のFTPクラスにサンプルがあります。

Wininet.dllを使用した場合
http://www.int21.co.jp/pcdn/vb/onepoint/knvol081 …

ちなみにフォルダを丸ごとのアップというのは無理だったような・・・
何かFTPソフトを使用してますよね?
ぼくもの使用してるFTPソフトは、処理状況をステータスバーで表示してあるので、処理内容が何となく想像がつきます。
ローカルディスクと同じ構造でアップロードするというボタンがあるのですが、やってる事は、ファイルを1つずつアップして、フォルダがあれば作成して、その中のファイルをアップして・・・というようなことを最も下位層のフォルダ内のファイルまでのループ(再帰法?)をしてるようです。
    • good
    • 0

MSのホームページにサンプルがあります。


フォルダ単位の転送では有りませんが、参考になると思います。

私はこれを参考にして、FTPルーチンを作成しました。

参考URL:http://www.microsoft.com/JAPAN/support/kb/articl …
    • good
    • 0

>まだ始めたばかりで基礎知識 を習得したぐらいなので


とありますがVBをですか?
それともVBはある程度経験があって、FTPを行う通信関係に対しての「始めたばかり」ですか?
もしVBの経験があまりないと、ちょっと難しいかもしれません。

FTPのソフトは(たぶん)VBの標準関数では作成できないと思います。そこで言語を問わずに実行可能なAPI関数を使用します。サンプルはそのAPI関数をたくさん使用してます。

サンプル見ました?API大丈夫ですか?それとも、見当違いの回答を返しました?
    • good
    • 0

iNetTransfer(市販OCX)を使うという手もあります。


フォルダ単位のGET/PUTが一発で出来るというわけでもないが..
API関数で作るよりは簡単です。

参考URL:http://www.boc.co.jp/support/database/P1_56.htm
    • good
    • 0

こんにちは。

itohhといいます。

ディレクトリ単位でのコピーはサポートしていないと思うのですが。

わたしが、FTPで(手作業で)行うときは、
1.CDコマンドで目的のディレクトリに移動する。
2.MKDIRコマンドで新規ディレクトリを作成する。
3.PUTコマンドでファイルをコピーする。
4.QUITコマンドでFTPを終了する。

この手順をVBのコードに直して実行すれば良いのではないでしょうか?
    • good
    • 0

FTPソフトを作成するのですか?


GET,PUTとは?UpLoad,DownLoadという意味ですか?

この回答への補足

こんにちは! TAGOSAKU7さん。

>FTPソフトを作成するのですか?
はい。 クライアントのVBから、サーバにFTP(フォルダ単位)に
行うソフトを作りたいのです。 まだ始めたばかりで基礎知識
を習得したぐらいなので、できればサンプルソフトを改造したい
と考えております。

>GET,PUTとは?UpLoad,DownLoadという意味ですか?
はい。 その通りです。

よろしくお願いいたします。

補足日時:2001/11/07 10:56
    • good
    • 0

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

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

このQ&Aを見た人はこんなQ&Aも見ています

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

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

Q画像が表示されない!フォルダが開けない!

IE6なんですけど画像が表示されません。赤い×印が出るとかじゃなくて完全に表示されないんです。
(残り○○項目)画像http://www.○○○.gifをダウンロードしてますとメッセージが左下に出たままいつまでも表示されないです。

同時に全てのフォルダ、マイコンピューター、マイドキュメントが完全に開けない状態になってしまいました。ポインタが砂時計のままウィンドウにはいつまでもなにも出てこない状態です。(フリーズはしないです。)

手の施しようもなくかなり困ってます。助けて~

Aベストアンサー

[ツール]→[インターネットオプション]にて
インターネット一時ファイルの[ファイルの削除]ボタンを押し、
[□すべてのオフラインコンテンツを削除する]をチェックし、[OK]を押します。
[インターネットオプション]ウィンドウも[OK]を押します。

これでどうでしょうか。ご確認ください。

QFTPでエクセルをPUTするとファイルが破損する

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


FtpPutFile Lib "wininet.dll"


上記のFTPプットの部分で問題がありそうです。

ローカルからLAN経由で接続されたFTPサーバーを使い
ファイルサーバーへエクセルファイルをアップロードしたいのですが
ファイルが破損して開けなくなってしまいます。

バイナリ転送、アスキー転送と転送モードを変えて試しても
NGでした。

xmlファイルなどテキストであれば問題なくアップロードできました。


エクセルファイルはFTP転送できないのでしょうか?
なにかよい方法があれば教えてください。

宜しくお願い致します。

Aベストアンサー

バイナリ転送で出来るはずです。
Option Explicit は記述してますか?

Qフォルダのカスタマイズで背景画像が表示されない

フォルダ -[表示]-[このフォルダのカスタマイズ]で
背景画像を設定しても
そのフォルダ内に"Folder Setting"フォルダと
"desktop.ini"ファイルが作成されて
画像が表示されません。

ご教授をお願いいたします。

Aベストアンサー

desktop.iniをメモ帳などで開いて、

http://oxygen.at.webry.info/200407/article_4.html
ここの2.desctop.ini ファイルを設定の
IconArea_Image=
に表示したい画像のアドレスになっていますか?
壁紙などで使用するbmpファイルなど選ぶといいかもしれません。
画像を置いてある場所によっては、表示できないときもあると思います。

QInet で FTP のファイル送信したときのファイル属性

Inet の FTP でサーバ(UNIX)へファイルを送信すると、
ファイル属性が(rw_r__r__)になります。
FFFTPを使っても同じなので、Inetの問題ではないのですが。
サーバ側の(.cshrc)ファイルでは、umaskは(002)です。
それなら、(rw_rw_r__)になっていいと思うのですが、どなたかどこに設定すればいいのか、ご存知でしたらお教えください。

Aベストアンサー

相手のホストの ftpd によって違います。

よくあるのは

・ftp が site コマンドの中で umask コマンドを実装している
・ftpd が起動するときの引数で指定できる

といったパターンです。詳しくは、サーバ側の ftpd のマニュアルを見てください。

因みに、

> サーバ側の(.cshrc)ファイルでは、umaskは(002)です。

.cshrc というファイルは csh が使うファイルですから、ftp で認証を受ける
ときには csh が使われるわけではないので、関係ありません。

QMicrosoft Office Pictureに画像が表示されない

よろしくお願いします。
Windows10の画像管理ソフトの既定にMicrosoft Office Picture(Microsoft Office 2010)を使用しています。過去から自作のアイコンを多数作成し、Pictureに保存しています。(100くらい)
ところがMicrosoft Office Pictureでファイルを開くと下記に添付したように画像が急に表示されなくなりました。ここに記述してある「画像のみ表示」のチェックを外してもOffice Pictureのアイコンが表示されるだけです。どこかの設定が知らぬ間に変わってしまったのでしょうか。色々調べましたが分かりません。ただ画像は表示されなくてもアイコンはファイルを指定すると変更もできます。
デジカメ写真や他の画像もフォルダー別に保存していますが、これらは正常に表示されます。

Aベストアンサー

>過去から自作のアイコンを多数作成し、Pictureに保存しています。(100くらい) 
 ファイル形式は「.ico」でしょうか

>下記に添付したように画像が急に表示されなくなりました。
 以前は Picture Manager で「.ico」が表示できていたと言うことでしょうか?
 
Picture Manager で表示できる対応ファイルは、初期設定では
「JPEG」「GIF」「BMP」「PNG」の4種類です。
追加で「TFF」「WMF」「EMF」が可能。
それ以外のファイルですと表示することができません。
http://blog.goo.ne.jp/emihime_001/e/6eeb3763a7e4a3798b4c688aa874ab36

質問者様が書いている「自作のアイコン」という物が「.png」の場合は設定が変わっているかと思われます。

以下を参考に設定してみてください。
設定方法。
スタート⇒「すべてのアプリ」⇒「Microsoft Office」⇒「Microsoft Office Picture Manager」を右クリック。
「その他」⇒「管理者として実行」 
Picture Manager が起動したら「ツール」⇒「ファイルの種類」で全てに☑を入れ「OK」

ファイル形式が「.ico」の場合は、Picture Manager では開けませんので、既定のアプリを
「フォト」「Photo Gallery」「Windows フォト ビューアー」等に変更する必要があります。

「Windows フォト ビューアー」が選択できない場合は以下を参考に。
https://i-bitzedge.com/tips/how-to-use-windows-photo-viewer-in-windows-10

>過去から自作のアイコンを多数作成し、Pictureに保存しています。(100くらい) 
 ファイル形式は「.ico」でしょうか

>下記に添付したように画像が急に表示されなくなりました。
 以前は Picture Manager で「.ico」が表示できていたと言うことでしょうか?
 
Picture Manager で表示できる対応ファイルは、初期設定では
「JPEG」「GIF」「BMP」「PNG」の4種類です。
追加で「TFF」「WMF」「EMF」が可能。
それ以外のファイルですと表示することができません。
http://blog.goo.ne.jp/emihime_001/e/6eeb...続きを読む

QFTPサーバーから受信したファイル一覧からファイル名だけを取得したいです

こんばんは。いつもお世話になっております。

VB.NET+WinXPなのですが、
FTPサーバーにログインして、
LISTコマンドでファイル一覧を要求すると
「drwxrwxr-x 2 53 53 4096 Feb 28 2006 abc」
などというファイルやフォルダの一覧がかえって来ると思うのですが、
この中からファイル名やフォルダ名だけを取得するには
どうしたらよいでしょうか。
TABやコンマが入っていないので、文字列関数で切り取るにも
区切りがわからないと思うのです。
ローカルドライブのDir関数なら、FileAttribute.Nomalや.Directoryの指定でファイル名だけや
ディレクトリー名だけを指定して
取得することが出来るのですが、FTPサーバーの場合からの場合はどういった方法があるでしょうか。
参考程度でも構いませんので教えて頂けるとたすかります。m(__)m

Aベストアンサー

#1>ファイル名やディレクトリ名にスペースが使われている場合もあって難しいかなと思うのですが、
全然問題なし♪
例えば
件のリストの1行はスペースで区切られた9のフィールドと考えられますけど、その場合
$line="-rwxrwxr-x 2 53 53 4096 Feb 28 2006 include space 1.jpg";
@field = split(/\s+/, $line, 9);#フィールド数をしていすると、最後はまとめられる

print $field[8];# 9番目のフィールドにスペースがあっても大丈夫

Q忍者簡単ホームページの画像が表示されない

宜しくお願いします。
忍者ホームページの簡単ホームページでホームページを作りましたが画像が表示されず
コメントだけの表示に成ります。
FFFFTPとかホストとか効きますが一度も利用したことが有りません
HTMLはメモ帳で作成し画像は同じパソコンのデスクトップにフォルダーとして保存しております。
忍者ホームページにアップロードした画像ファイル名は一致しております
幾度試しましたが同じ状態です
下記はいま利用中のURLです宜しくお願いします。は間違って居りますでしょうか困って居ります
http://qqai54.dousetsu.com/simpleVC_20110710164243.html

ここはテーフルタグです。
<table align="right">
<tr><td><img src="img142.jpg"width="250" height="250"></td>
<td><img src="img004.jpg"width="250" height="250"></td></tr>
<tr align="center"><td bgcolor="#ffcccc">ハイブリットフリウス</td>
<td bgcolor="#66cc66">フーガハイブリット</td></tr>
<tr><td><img src="img013.jpg"width="250" height="250"></td>
<td><img src="img889.jpg"width="250" height="250"></td></tr>
<tr align="center"><td bgcolor="#cc9900">ポルシェカレラ</td>
<td bgcolor="#9999cc">フェラリーモンディアル</td></tr>
</table>

宜しくお願いします。
忍者ホームページの簡単ホームページでホームページを作りましたが画像が表示されず
コメントだけの表示に成ります。
FFFFTPとかホストとか効きますが一度も利用したことが有りません
HTMLはメモ帳で作成し画像は同じパソコンのデスクトップにフォルダーとして保存しております。
忍者ホームページにアップロードした画像ファイル名は一致しております
幾度試しましたが同じ状態です
下記はいま利用中のURLです宜しくお願いします。は間違って居りますでしょうか困って居ります
http://qqai5...続きを読む

Aベストアンサー

http://oshiete.goo.ne.jp/qa/6866707.html
こちらで答えてますが、わからなかったでしょうか。
同じ質問内容ならば、上記のやりとりで疑問点を補足してもらえればそれに対して答えます。
新しく質問をするのなら、上記を締め切った上で質問なさってください。

どちらのやりとりも中途半端になりますので、同じ回答を入れておきます。
不明なところがありましたら、どちらかのやりとりで補足して、もう片方は締め切ってください。

---------------------------------

【回答】
画像の場所の記述が間違っています。
画像は、htmlファイルが保存されている下のディレクトリであるsimpleVC_imgに保存されています。
質問にあるタグでは、htmlと画像が同じディレクトリに保存されている状態でないと画像が表示されません。

例えば、img src="img142.jpg" だったら、img142.jpgは、以下のように訂正してください。
http://あなたの忍者ホームページのアドレス/simpleVC_img/img142.jpg

但し、簡単ホームページにソースを貼りつけてもタグが適度に書き換えられますので、タグを手打ちしているのならFTPでのアップロード方法を覚えたほうがいいと思います。

http://oshiete.goo.ne.jp/qa/6866707.html
こちらで答えてますが、わからなかったでしょうか。
同じ質問内容ならば、上記のやりとりで疑問点を補足してもらえればそれに対して答えます。
新しく質問をするのなら、上記を締め切った上で質問なさってください。

どちらのやりとりも中途半端になりますので、同じ回答を入れておきます。
不明なところがありましたら、どちらかのやりとりで補足して、もう片方は締め切ってください。

---------------------------------

【回答】
画像の場所の記述が間違っていま...続きを読む

Qフォルダ内のサブフォルダ名やファイル名の取得

VB初心者です。
あるフォルダ内のサブフォルダ名や数、ファイル名を取得したいのですが・・・
コントロールのDirListBoxを使用するか、Dir関数を使用したいのですが、上手くできません。
ご存知の方、教えてください

Aベストアンサー

>上手くできません。
初心者かベテランかは関係ありません。
うまくいかないなら、うまくいかないそのコードの抜粋でもを公開すると、最適な回答が得られやすくなります。

うまくいかないのには、必ず理由があります。その部分の修正を指摘するだけで、うまくいくようになるはずです。


>コントロールのDirListBoxを使用するか、Dir関数を使用したいのですが、
http://okwave.jp/kotaeru.php3?q=1576659
でファイルリストボックスコントロールについて答えております。
ドライブリストボックスは[Pattern]プロパティの部分だけ行わなければ、そのままListCountで数を取得できます。
名前の取得はどちらも、Pathさえ設定してしまえば、リストボックスと同様にList(Index値)で取得できます。


Dirを利用するのであれば、サンプルを書かないでも、ヘルプに出ています。
履歴とヘルプを活用しましょう。



参考URL
http://okwave.jp/kotaeru.php3?q=1561188
を流用した、別の取得方法です。


Sub Main()
  Dim strPath As String
  Dim strLog As String
  
  '調査するパス
  strPath = "C:\WINDOWS\system32"
  'ログ出力先
  strLog = "C:\FileList.txt"
  
  'メイン処理でログに結果を出力させる
  Call CreateList(strPath, strLog)
  
  'ログを展開する
  Call CreateObject("WSCript.Shell").Run(strLog)
End Sub


'-----------------------------------------------
'メイン処理
'-----------------------------------------------
Sub CreateList(ByVal inFolderName As String, ByVal inLogFile As String)
  Dim fsoObj     As Object
  Dim fsoFolder    As Object
  Dim fsoSubFolder  As Object
  Dim fsoFile     As Object
  Dim objText     As Object
 
  'オブジェクト生成
  Set fsoObj = CreateObject("Scripting.FileSystemObject")

  'ログファイル準備
  Set objText = fsoObj.OpenTextFile(inLogFile, 2, True, 0)
  
  'フォルダオブジェクト取得
  Set fsoFolder = fsoObj.GetFolder(inFolderName)
  
  '//-----------------------ファイル処理---------------------------------
  'ファイル数を出力
  objText.WriteLine "ファイル数:" & fsoFolder.Files.Count
  
  'フォルダ内/ファイルループ
  For Each fsoFile In fsoFolder.Files
    'ファイル名をログに出力
    objText.WriteLine fsoFile.Path
  Next
 
  '//--区切り線
  objText.WriteLine String(50, "-")
  
  
  '//-----------------------サブフォルダ処理-----------------------------
  'サブフォルダ数を出力
  objText.WriteLine "サブフォルダ数:" & fsoFolder.SubFolders.Count
 
  'フォルダ内/サブフォルダループ
  For Each fsoSubFolder In fsoFolder.SubFolders
    'ログに出力
    objText.WriteLine fsoSubFolder.Path
  Next
  
  objText.Close
  Set objText = Nothing
  Set fsoObj = Nothing
End Sub

>上手くできません。
初心者かベテランかは関係ありません。
うまくいかないなら、うまくいかないそのコードの抜粋でもを公開すると、最適な回答が得られやすくなります。

うまくいかないのには、必ず理由があります。その部分の修正を指摘するだけで、うまくいくようになるはずです。


>コントロールのDirListBoxを使用するか、Dir関数を使用したいのですが、
http://okwave.jp/kotaeru.php3?q=1576659
でファイルリストボックスコントロールについて答えております。
ドライブリストボックスは[Patt...続きを読む

Qアップロード後にHPの画像が表示されない

HP作成初心者です。

windows7、メモ帳でHTMLを作成し
エクスプローラで確認した時点では画像はすべて見られます。

サーバーにアップロード後
HPの画像のほとんどが表示されない状態です。
全12ページ、画像は30枚程度ですが
全部が見られないわけではなく、数枚は見られます。

サーバーはロリポップで、フォルダごとアップロードはできないため
alphaEditでフォルダごとアップロードしました。

・アップロード後にhtmlは文字化けしていない
・サーバー上で画像はすべて正常に確認できる
・大文字、小文字を含めたファイル名と記述名に間違いはない
・画像はすべて同一ファイルにある
・同じJPG、同じような名前の画像でも表示されるものと、されないものがある
・PNGの画像は一枚も表示されない
・画像ファイルのみ、htmlファイルをそれぞれ再アップロードしても同じ

というところまで確認できたのですが
あとはhtmlの記述ミスを探すしかないのでしょうか。

数枚ではありますが、表示されている画像もあるので
フォルダの指定間違いではないとは思います。

htmlは自分ですべて記述したものではなく
フリーの素材を使い、画像を挿入したり内容を記入したりしたため
これ以上記述のミスを探すのも難しい状態です。

他になにか解決の糸口はありますでしょうか。
お知恵を貸してください!

HP作成初心者です。

windows7、メモ帳でHTMLを作成し
エクスプローラで確認した時点では画像はすべて見られます。

サーバーにアップロード後
HPの画像のほとんどが表示されない状態です。
全12ページ、画像は30枚程度ですが
全部が見られないわけではなく、数枚は見られます。

サーバーはロリポップで、フォルダごとアップロードはできないため
alphaEditでフォルダごとアップロードしました。

・アップロード後にhtmlは文字化けしていない
・サーバー上で画像はすべて正常に確認できる
・大文字、小文字を...続きを読む

Aベストアンサー

No,3です。

最初の2項目で解決しないということは。画像ファイルが,期待通りの場所に存在していない可能性が大きいですね。

>・URLを直接入力する方法が分からなかったので、こちらはまだ試していません。
そうですか。では次の点を確認してみましょう。
IEだと,図が表示されるべき位置に×印のようなものが表示されていることと思います。
その上で右ボタンをクリックして,プロパティを表示させてみて下さい。
これで表示される「アドレス(URL)」が,想定通りのアドレスになっているでしょうか。
a)最初が http:// ではじまっているか。(例えば file:// ではない)
b)画像の名前が,パスを含めて想定通りに表示されているか。
 (大文字/小文字,全角/半角など要注意)

Qmy doc内のファイルをPUTしたいのですが

saveFolderPath = text1.text
      :
.Execute , "PUT " & " " & saveFolderPath & fileName.Text & " " & fileName.Text

とし、「text1」内に書き込まれたパスにある指定ファイルをアップロードしたいと希望しています。
ところがこの場合、例えばtext1に「C:」と入力されたときは動作しますが、「C:\my doc\My Pictures」と入力すると、「my」と「doc」、「My」と「Pictures」の間の半角スペースが邪魔してしまうようで、アップロードに失敗してしまいます。
「Replace」の利用などで解決できないかと、色々試行錯誤したのですが、自分では解決できませんでした。
つきましては恐れ入りますが、ご教授いただきたくよろしくお願いいたします。

Aベストアンサー

VBは持ってないので試してませんが、昔のBASICなら下記のようになります。

Execute , "PUT " + Chr$(&H22) + saveFolderPath + fileName.Text + Chr$(&H22) + " " + Chr$(&H22) + fileName.Text + Chr$(&H22)

半角スペースを含んだファイル名の前後にクォーテーションを付けます。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報