コレまで使っていた「basp21」がwin10で動かないため、
basp21を諦め、サイトで探したところ、
以下のようなサンプルを見付けやってみました。
ステップで追っていくと、
接続、ログインまではスンナリ行けていますが、
いざファイルのアップのところで、タイムアウトしてしまいます。
何処が悪いのか分かりません。
原因が知りたいので、考えられることを教えて下さい。
タイムアウトは30秒くらいかと思います。
ログインまではアッという間なので、
時間が掛かっているのではなく、
何かが不味いと思っています。
宜しくお願いします。
環境は、
win10home、excel2003、です。
使用(D/Lした)excelvbaです。******************************
Option Explicit
Private Declare Function InternetOpenS _
Lib "WinInet.DLL" Alias "InternetOpenA" _
(ByVal lpszAgent As String, ByVal dwAccessType As Long, _
ByVal lpszProxyName As String, ByVal lpszProxyBypass As String, _
ByVal dwFlags As Long) As Long
Private Declare Function InternetConnectS Lib _
"WinInet.DLL" Alias "InternetConnectA" _
(ByVal hInternetSession As Long, ByVal lpszServerName As String, _
ByVal nServerPort As Integer, ByVal lpszUsername As String, _
ByVal lpszPassword As String, ByVal dwService As Long, _
ByVal dwFlags As Long, ByVal dwContext As Long) As Long
Public Declare Function FtpSetCurrentDirectoryS _
Lib "WinInet.DLL" Alias "FtpSetCurrentDirectoryA" _
(ByVal hFtpSession As Long, ByVal lpszDirectory As String) As Long
Private Declare Function FtpPutFileB _
Lib "WinInet.DLL" Alias "FtpPutFileA" _
(ByVal hFtpSession As Long, ByRef lpszLocalFile As Byte, _
ByRef lpszNewRemoteFile As Byte, ByVal dwFlags As Long, _
ByVal dwContext As Long) As Long
Private Declare Function InternetCloseHandle _
Lib "WinInet.DLL" _
(ByVal hInet As Long) As Long
Private Const INTERNET_OPEN_TYPE_PRECONFIG = 0
Private Const INTERNET_DEFAULT_FTP_PORT = 21
Private Const INTERNET_SERVICE_FTP = 1&
Private Const FTP_TRANSFER_TYPE_ASCII = &H1
Private Const FTP_TRANSFER_TYPE_BINARY = &H2
Sub FTP_Upload()
'FTPアップロードの例
Const cstrServer As String = "netftp.asahi-net.or.jp" 'FTPサーバー名
Const cstrUserName As String = "xxxxxxx" 'アカウント名
Const cstrPassword As String = "yyyyyyyy" 'パスワード
Dim strDir As String
Dim strFrom As String
Dim strTo As String
Dim abytFrom() As Byte
Dim abytTo() As Byte
Dim lngInet As Long
Dim lngFTP As Long
Dim lngRet As Long
'アップロード先ディレクトリを設定
strDir = "ssss/tttt/uuuu"
'アップロード元ファイル名を設定
strFrom = ThisWorkbook.Path & "\wk8.log"
'アップロード先ファイル名を設定
strTo = "\wk8.log"
'FTPをオープン
lngInet = InternetOpenS(vbNullString, INTERNET_OPEN_TYPE_PRECONFIG, _
vbNullString, vbNullString, 0&)
If lngInet <> 0 Then
'成功したらFTPサーバーに接続
lngFTP = InternetConnectS(lngInet, cstrServer, _
INTERNET_DEFAULT_FTP_PORT, _
cstrUserName, cstrPassword, _
INTERNET_SERVICE_FTP, 0&, 0&)
If lngFTP <> 0 Then
'成功したとき
'アップロード先ディレクトリへ移動
FtpSetCurrentDirectoryS lngFTP, strDir
'ファイル名をUnicodeから変換
abytFrom = StrConv((strFrom & vbNullChar), vbFromUnicode)
abytTo = StrConv((strTo & vbNullChar), vbFromUnicode)
'ファイルをバイナリモードでアップロード
'(ASCIIモードの場合はTRANSFER_TYPE_ASCIIを指定)
lngRet = FtpPutFileB(lngFTP, abytFrom(0), abytTo(0), _
FTP_TRANSFER_TYPE_ASCII, 0&)
If lngRet <> 0 Then
'成功したとき
MsgBox "ファイルのアップロードに成功しました!", vbOKOnly + vbInformation
End If
End If
'FTPをクローズ
InternetCloseHandle lngInet
End If
End Sub
No.1ベストアンサー
- 回答日時:
パッシブモードで接続していないからでしょう。
FTP接続には、アクティブモードとパッシブモードの2つがあります。
INTERNET_FLAG_PASSIVE を使うようです。
早速有り難うございました。
まさにご指摘どおりでした。
調べて設定したところアッサリ解決してしまいました。
お世話になりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Vba Userformを前面に出すについて 3 2022/04/15 12:29
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ 1 2023/07/04 15:13
- Excel(エクセル) 【マクロ】スクショ印刷がうまく動かない件 5 2022/12/06 17:37
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る EXEの実行内容の結果によって、戻り値を0か1かで返したい 1 2023/07/04 16:40
- Visual Basic(VBA) VBA 別ブックからの転記の高速化について VBA 別ブックからの転記の高速化についてご教授下さい。 19 2022/07/26 13:07
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Visual Basic(VBA) VBAで質問ですが、皆さんはどの様に導き出しているのでしょうか? 6 2022/05/03 21:53
- Visual Basic(VBA) VBA処理追加 こちらでご教示頂いたのですが回答完了させてしまいましたのでこちらからまた質問させてく 2 2022/10/27 09:57
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
Basp21のメール送信機能を win10(64bit) Excel2019で使用する方法
Excel(エクセル)
-
VBAでFTPファイル転送がうまくいかない
Visual Basic(VBA)
-
FTPでputすると空ファイルが出来てしまう
その他(プログラミング・Web制作)
-
-
4
FTPエラー425
その他(コンピューター・テクノロジー)
-
5
win10のbasp21がエラーになる
フリーソフト
-
6
ftpのアクティブモード対応モジュールの作成について
C言語・C++・C#
-
7
BASP21のファイルアップロードでエラー
その他(プログラミング・Web制作)
-
8
教えてください。FTPアップロードが出来なくなりました。
Visual Basic(VBA)
-
9
FTPでエクセルをPUTするとファイルが破損する
Visual Basic(VBA)
-
10
フリーFTPソフトBASP21のタイムアウト
Visual Basic(VBA)
-
11
64bitでbasp21の使用方法
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
onedrive にexcelファイルをア...
-
ftpでアップロードが出来ない
-
どうして送信されないのでしょ...
-
アップロードの仕方
-
youtubeに音声のみのmp4ファイ...
-
php,file_get_contentsの結果が...
-
SmartyでHTMLソースの変更が反...
-
Dreamweaver ドリームウィーバ...
-
FTPClientで転送結果(OKかFAIL)
-
ファイルサイズがpost_max_size...
-
ファイルをGET送信でアップロー...
-
TCPDFについて
-
PHPのif文でその処理を途中で抜...
-
CFileDialogの最初のディレクト...
-
URLが.PHPってどういう...
-
php 完了画面の送信メールのコ...
-
ワードプレスサイト PHP8.0.25...
-
Content-Typeが機能していない?
-
別ファイルの変数を呼び出した...
-
phpでget_headers()が使えない?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
onedrive にexcelファイルをア...
-
ファイルアップロードの上限を...
-
youtubeに音声のみのmp4ファイ...
-
one drive のアップロード失敗...
-
FTPClientで転送結果(OKかFAIL)
-
VBでクラウドストレージにア...
-
ftpでアップロードが出来ない
-
アップロードできるファイルサ...
-
ファイルをGET送信でアップロー...
-
FTP接続の例外処理
-
PHP 画像アップロード 重複防止
-
「クラウドにアップロード」」...
-
aws cloud9というものを使って...
-
ファイルサイズがpost_max_size...
-
csvファイルをMySQLにインポー...
-
ファイルアップロードしたもの...
-
ファイルのアップロードで、フ...
-
全角ファイル名をアップロード...
-
SmartyでHTMLソースの変更が反...
-
unlinkでどうしてもファイルが...
おすすめ情報