カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

便利なApplicationメソッド ACCESS

DLookupやDCount等はよく使うのですが、他にも便利なメソッドがあったのでご紹介します。

DAvg

指定した数値フィールドの平均値を取得します
返り値は倍精度浮動小数点型(Double)です

DCount

レコード件数を取得します

DFirst

先頭レコードの指定フィールドの値を取得します

DLast

最終レコードの指定フィールドの値を取得します

DLookup

指定したフィールドの値を取得します

DMax

指定フィールドの最大値を取得します

DMin

指定フィールドの最小値を取得します

DSum

指定フィールドの合計値を取得します


書式

DLast(Expr, Domain, Criteria)
続きを読む…»

2,208 views

ACCESS Excelファイルに画像を挿入

まずは変数を宣言します。

Dim xlApp   As Object
Dim xlBook  As Object
Dim xlSheet As Object

各オブジェクトを作成します。

Set xlApp = CreateObject("Excel.Application")
Set xlBook = xlApp.Workbooks.Open([Excelファイルのフルパス])
Set xlSheet = xlBook.WorkSheets(1)

ワークシートオブジェクトをwithブロックで使用します。

With xlSheet

画像を貼り付けしたい起点(左上)のセルを選択します。

.Range("A1").Select

withブロックが入れ子になりますが、画像オブジェクトとしてアクセスできるようにします。 続きを読む…»

9,263 views

ADODB.Streamでテキストファイルに追記する

ADODB.Streamを使って、テキストファイルに文字列を追加する方法をご紹介します。

基本的な使い方はこちら。
ADODB.Streamを使ったテキストファイルの読み書き – 2014-01-23
オプション等の説明は上記にて掲載していますので、今回は割愛します。

まずは変数を宣言

Dim sr          As Object
Dim strData     As String

オブジェクトを作成

Set sr = CreateObject("ADODB.Stream")

オプションの設定

sr.Mode = 3 '読み取り/書き込みモード
sr.Type = 2 'テキストデータ
sr.Charset = "Shift_jis" '文字コードを指定

Streamオブジェクトを開いて、ファイルの内容を読み込みます。 続きを読む…»

41,963 views

Outlookメッセージファイル(.msg)からデータを取り出す – VBA

Outlookのメッセージファイル(.msg)から送信元アドレスや件名、本文等のデータを取り出すことができます。
よくあるのは、受信トレイのメールからデータを取り出したりしますが、今回は任意の場所にコピーしたメッセージファイル(.msg)からデータを取り出す方法をご紹介します。

まずは宣言

Dim OL  As Object
Dim msg As Object

Outlookオブジェクトを生成

Set OL = CreateObject("Outlook.Application")

msgファイルを指定

strFileName = "c:\sample.msg"

メッセージファイルをオブジェクトに読み込む

Set msg = OL.CreateItemFromTemplate(strFileName)

各種データを取得します。

Debug.Print "SentOnBehalfOfName: " & msg.SentOnBehalfOfName
Debug.Print "SenderName: " & msg.SenderName
Debug.Print "ReceivedByName: " & msg.ReceivedByName
Debug.Print "ReceivedOnBehalfOfName: " & msg.ReceivedOnBehalfOfName
Debug.Print "ReplyRecipientNames: " & msg.ReplyRecipientNames
Debug.Print "To: " & msg.To
Debug.Print "CC: " & msg.CC
Debug.Print "BCC: " & msg.Bcc
Debug.Print "Subject: " & msg.Subject
Debug.Print "Body: " & msg.Body
Debug.Print "HTMLBody: " & msg.HTMLBody
'Debug.Print "Recipients: " & msg.Recipients
Debug.Print "SenderEmailAddress: " & msg.SenderEmailAddress

プロパティについてはMSDNを参照しましたが、Recipientsはプロパティが存在しないとエラーが発生したのでスキップしています。
続きを読む…»

71,413 views

VBAでWEBサーバーにHTTPリクエスト

MSXML2.XMLHTTPオブジェクトを利用してWEB上のデータを取得したり、PHP等のプログラムへデータを送信することができます。

ACCESS等で入力したデータをすぐにWEBに反映させたいとき等に便利です。

まずは宣言

Dim xmlHttp  as Object 'HTTPリクエストオブジェクト
Dim url      As String 'リクエストを送るURL
Dim strParam As String 'リクエストパラメータ
Dim strRes   As String '結果を受け取る変数

HTTPリクエスト用オブジェクトのバインド

Set xmlHttp = CreateObject("MSXML2.XMLHTTP")

・GET送信
リクエストするURLを指定

url = "http://www.example.jp/index.html"
With xmlHttp
    .Open "GET", url, False
    .SetRequestHeader "Content-Type", "application/x-www-form-urlencoded"
    .Send
    strRes = .ResponseText
End With

続きを読む…»

55,688 views