ASPを使ってwebアプリ見たいなのを作ろうとしています。
データの登録時に予め登録されてているユーザに登録された旨を伝える
メールを送信したいです。
いろいろ試した結果、直でbsap21を呼び出すのではなく、bsmtp.dllを
呼び出して送信するほうが動きがいい(というか、basp21のほうはSMTPサーバに接続しない)ので、その方向で行きたいのですが。。。
見つけたコードが以下です。
------------------------------------------------------------
Private Declare Function SendMail Lib "bsmtp"_
(strServer As String, strTo As String, strFrom As String, _
strSubject As String, strBody As String, strFile As String) As String
Public Function SendViaBASP() As String
Dim strMailServer As String: strMailServer = "***.***"
Dim strFrom As String: strFrom = "hoge@hoge.com"
Dim strTo As String: strTo = "hoge@hoge.com"
Dim strBcc As String: strBcc = ""
Dim strToBcc As String: strToBcc = ""
Dim fHTML As Boolean: fHTML = False
Dim strSubject As String
Dim strBody As String
Dim strAttachments As String: strAttachments = ""
Dim strRet As String
strSubject = "BASP21"
strBody = "このメールは、BASP21経由で送信しました."
If Len(strTo) Then
strToBcc = strTo
Else
strToBcc = strBcc
End If
If fHTML Then
strToBcc = ">Content-Type: text/html; charset=iso-2022-jp" _
& vbTab & strToBcc
End If
strRet = SendMail(strMailServer, _
strToBcc, strFrom, strSubject, strBody, _
strAttachments)
SendViaBASP = strRet
End Function
---------------------------------------------------------------
で、これをACCESSのモジュールに登録し、実行したところ問題なく
動くのですが、これをASPに組み込む方法がわかりません。
ACCESSはデータの登録先ではありますが、常に起動しているわけでは
ないので、おそらくモジュールとした場合、動かないですよね?
ASPから上記のコードを動かすには、どうしたらいいでしょうか。
普通にASPの中(<%~%>)に入れると「ステートメントの末尾が不正」
とのメッセージがでてしまいます。
どうかよろしくお願いします。
No.1ベストアンサー
- 回答日時:
開発しているのはクラシックな ASP だと思うのでサーバーサイドで実行するコードは VBScript で記述するはずです。
で、質問にあるコードは VBScript 向けではなく、おそらくは VB や VBA 向けだと思います。
その理由ですが、
1. VBScript は Declare ステートメントを使えません。
したがって DLL を直接呼ぶことはできません。
Set bobj = Server.CreateObject("basp21")
のようにしてください。
2. VBScript は Variant型しかサポートしていません。
そのため "As xxxx" は利用できません。
変数の宣言は
Dim a As String ← NG
Dim a ← OK
自作関数
NG ケース
Private Function MyFunc(aName As String) As String
MyFunc = "あなたの名前は" & aName & "です"
End Function
OK ケース
Private Function MyFunc(aName)
MyFunc = "あなたの名前は" & aName & "です"
End Function
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAが止まります。 3 2022/08/31 14:09
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) Excel vbaについての質問 3 2023/04/18 16:14
- Visual Basic(VBA) 稀に1円合いません? Sheet1から金額と個数を貼り付ける下記コードで、金額を切り上げるコードを何 3 2022/09/05 15:11
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) Excel VBA メール作成について 本文の中にExcel でコピーした図を上下に2つ 貼り付けを 2 2023/06/14 01:48
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
1、Rstudioで回帰直線を求める...
-
フィルターかけた後、重複を除...
-
access2003 クエリSQL文に...
-
1日に1人がこなせるプログラム...
-
wechatアプリについての質問で...
-
SQL
-
エクセルに見えない文字(JISX0...
-
Excel VBA 空白をセルを探して...
-
【VB6】実行ファイルとした後、...
-
PreviewKeyDownイベントが2回...
-
vb6.0の実行時エラー'3075'につ...
-
VBA For文でチェックボックスの...
-
Excel VBAについて
-
ExcelVBAで「Shift_JIS(MS932)...
-
VBAでxmlから特定の文字を変数...
-
VBAのフィルター操作
-
文字列を検索しその列をコピー...
-
MIPSコードへの変換
-
ASCIIコードを文字に変換したい
-
C#で入力可能なカウントダウン...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
フィルターかけた後、重複を除...
-
1、Rstudioで回帰直線を求める...
-
1日に1人がこなせるプログラム...
-
access2003 クエリSQL文に...
-
エクセルVBAコードで教えて下さ...
-
Exel VBA 別ブックから該当デ...
-
JavaScriptの定数名が取り消し...
-
COBOLの文法
-
access2021 VBA メソッドまたは...
-
PreviewKeyDownイベントが2回...
-
JANコードとPOSコードは同じ?
-
過剰なオブジェクト指向脳から...
-
特定行の背景色を変えたいのですが
-
ACCESSユニオンクエリでORDER B...
-
変数名「cur」について
-
Nullの使い方が不正です。
-
◾️Excel VBA 統合について Cons...
-
欠番の抽出について
-
VBA リストボックス(複数条件...
-
ACCESSで、履歴事項を管理する...
おすすめ情報