Basp21を使用して、メール送信プログラム(Excel VBA)を作成しました。
5台のパソコン(同一仕様)の内1台のパソコンのみエラーが発生してメール送信ができません。
他の4台のPCと環境の相違は無いと思いますが、原因が解りません。
パソコンの初期化をすれば、正常に動作すると思いますが、
エラー発生の都度、初期化もできません。
どなたか、ご教示をよろしくお願いします。
PC環境
OS :Win7 Pro 64Bit環境
Excel:2013 32Bit
セキュリティソフト:無効
コンポーネントの組み込み
Bsmtp.dll(587 Version) を C:\Windows\SysWOW64 のフォルダーにコピー
エラーメッセージ(1秒程度でリターン)
HELO BSMTP.DLL
helo BSMTP.DLL
確認項目
1)通常のメール送受信は問題無し(Outlook)
2)Bsmtpのセキュリティは、正常な他のPCと同じ
3)Administratorsで実行してもエラー発生(ユーザー権限の問題)
4)エラー発生時に、Bsmtp.dllの削除操作
Excelによって開かれているため削除不可のメッセージ(dllの読込み確認)
5)架空のサーバーを指定:Cant connect Server 11001のメッセージ
6)LANケーブルを抜く :Cant connect Server 11004
7)Excelの再インストール(レジストリも削除)しても同じ(Excelのチェック)
8)Bsmtp.dllをコピーしなおしても同じ(Bsmtpのチェック)
プログラム
Private Declare Function SendMail Lib "BSMTP.dll" _
(szServer As String, szTo As String, szFrom As String, _
szSubject As String, szBody As String, szFile As String) As String
strSMTP="aaa.co.jp"
strPort="25"
strTimeOut="60"
strToAddr="a123@aaa.co.jp"
strFromAddr="b123@aaa.co.jp"
strSubj="メールテスト"
strBody="本文"
strAttach=""
strSV_Name = strSMTP & ":" & strPort & ":" & strTimeOut
strMailto = strToAddr
strMailFrom = strFromAddr
strRC = SendMail(strSV_Name, strMailto, strMailFrom, strSubj, _
strBody, strAttach)
If strRC <> "" Then
MsgBox "エラー発生" & strRC
End If
以上 よろしくお願いします
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
うーん。
依存モジュールにも問題なし、ということですね。
自分の場合は、Win2008R2サーバでのBASP21使用で、IISの再インストールで突然動作しなくなり(それまでは動いていた)、顧客に状況を説明して、Basp21pro 64bitを購入してもらったのですが、いまでも納得でない問題です。もちろん、Basp21pro 64bitは一発で動作し、不具合は起きていません。
サーバ動作の場合はなんとなく事情はわかるのですが、クライアントサイド・VBA経由でそういう変化が出ることは非常に考えにくいです。
経緯を拝見する限り、送信時に限定された処理(送信文面のエンコード変換や添付のための内部メモリバッファ操作)のようで、障害の切り分けは難しいですね。
また、現状正常動作しているマシンが、何らかの原因で動作しなくなることもあるかと思います。
BASP21は公式に「64bit未対応」をうたっていますので、64bitならproを買え、ということなのでしょうか。
ちょっと高いけど。
答えになってなくてすいません。
shockatz様
PCの初期化をすれば正常に動作すると思います。
不具合が、発生した都度PCの初期化もできませんので
こまめに、システムイメージバックアップで対処しようと思います。
有益なアドバイス有難うございました。
No.1
- 回答日時:
そもそも、Basp21は32bit時代(しかも.NET前世代)のActiveX COM DLLなので、内部で使用されている依存モジュール類が、システムにインストールされている保証は全くありません。
64bit Windowsの上できちんと動作すること自体が驚異です。
> 他の4台のPCと環境の相違は無い
とのことですが、おそらくSystemフォルダ内部のDLLに欠損があります。
(ていうか他の4台には、何らかの理由で必須DLLが追加インストールされています
dependency checkerを使って、依存モジュールと、システム内の存在是非を確認してください。
この回答への補足
shockatz様
有難うございます。
教えていただいた通り
Dependency Walker で、BSMTP.DLL が使用しているモジュールを確認しました。
不具合PC,正常なPCともに、実行結果は同じで、使用しているモジュールもすべて存在します
ファイルの破損チェックのためファイルチェッカー(SFC)を実行しましたが、エラーはありませんでした。
他に、確認事項があればよろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) Excel-VBAでのファイルの開き方 4 2023/02/14 11:01
- Visual Basic(VBA) VBAが止まります。 3 2022/08/31 14:09
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) エクセルのマクロについて教えてください。 7 2023/07/04 09:18
- Visual Basic(VBA) Excel VBA メール作成について 本文の中にExcel でコピーした図を上下に2つ 貼り付けを 2 2023/06/14 01:48
- Visual Basic(VBA) Excelで下記のようにマクロを作ったところ、一回目は実行できたのですが、二回目以降「実行時エラー1 1 2022/03/25 08:08
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Visual Basic(VBA) VBAにてメール作成した際、一部指定箇所のみ赤文字にしたいです。 下記の内容ですと作成されたメール本 1 2022/04/27 13:31
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
このQ&Aを見た人はこんなQ&Aも見ています
-
外出時に「待たせる妻」vs イライラする「待つ夫」は日本だけ?見習いたい海外事情
夫の家事参加に積極的なイメージのある海外でも、同様の事例はあるのか。結婚カウンセラーの佐竹悦子さんに伺ってみた。
-
Basp21のメール送信機能を win10(64bit) Excel2019で使用する方法
Excel(エクセル)
-
BASP21メール送信(SMTP-AUTH認証)ASP
Microsoft ASP
-
win10のbasp21がエラーになる
フリーソフト
-
-
4
VB6にてメールを送信する方法
Visual Basic(VBA)
-
5
VB6.0とBASP21を用いてyahooメールからメール送信する方法
Visual Basic(VBA)
-
6
64bitでbasp21の使用方法
Visual Basic(VBA)
-
7
VBでメールを送る時のSMTP認証対応が分かりません
Visual Basic(VBA)
-
8
BASP21でメールが送信できない
その他(プログラミング・Web制作)
-
9
VB6で、Bsmtp.dllを使って、メール送信した際、Time Ou
Visual Basic(VBA)
-
10
basp21をWindowsServer2008R2で利用するには。
Windows 10
-
11
[VBA]CDOメッセージ送信エラー
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ご教授願います PC初心者です。...
-
Basp21を使用してメール送信が...
-
ネットワーク接続を確認する手...
-
Access VBA レポートの日付範囲...
-
You Tube動画のダウンロードが...
-
VBSエラー
-
VBAで画像ファイルをダウンロー...
-
バッチスクリプト処理でエラー...
-
ソフトのインストール場所って...
-
誰かにサーバにあるデータを消...
-
大塚商会で新しくシステム、ス...
-
aptでインストールしたプログラ...
-
バッチファイルで多重起動を防ぐ
-
rshについて
-
Macの手書き漢字入力ツールにつ...
-
exeファイルの実行結果をテキス...
-
パソコン初心者です。 職場のパ...
-
mac os 10.6の入ったMac mini ...
-
ubuntuに外部侵入できるか
-
scriptコマンドで出力したログ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Basp21を使用してメール送信が...
-
VBAのRegExpで後方一致/不一致...
-
エクセルVBA 実行時エラー 5029...
-
ネットワーク接続を確認する手...
-
クリップボードの内容をEXCELに...
-
三菱エコキュート 今朝 C21 エ...
-
VBからACCESSのレポートをプレ...
-
ご教授願います PC初心者です。...
-
Access VBA レポートの日付範囲...
-
PIC kit2 エラーについて
-
VBSエラー
-
スクリプトエラーが消えません
-
TOMCAT起動時エラー
-
VBからACCESSのレポート出力
-
7-zip22.01(x64)使用時に起きた...
-
旧バージョンのオープンオフィ...
-
ソフトのインストール場所って...
-
バッチスクリプト処理でエラー...
-
確定申告の資料の数字をパソコ...
-
バッチファイルでのスペースの入力
おすすめ情報