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

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,980 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,426 views

64bit版 Microsoft Officeについて

[Microsoft Outlookの個人用フォルダ(Outlook.pst)が開けなくなったとき]という記事で、
32bitのMicrosft Officeでは2GBを超えるファイルを扱うことができないと書きました。

では2GBを超えるファイルを扱うことはできないのでしょうか?
64bit版のMicrosoft Officeであれば扱うことができます。

ですが、以前Microsoftに32bit版と64bit版、どちらをインストールしてもいいのかと問い合わせしたことがあります。
担当者の解答は、64bit版は安定していないので32bit版をご使用ください、とのことでした。

ということで、現状は2GBを超えないように使ったほうが良いということですね。

3,826 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,693 views

Javaアプリケーションが実行できないときの対処法

とあるPCで、Internet ExplorerでもGoogle ChromeでもJavaアプリケーションが実行できないことがありました。

これまではセキュリティレベルを中にすることで大抵は解消されていましたが、それでもエラーが発生し実行できませんでした。

実際にエラーを確認したのはJava7 update55でしたが、これはどうやらJava7 update51から発生しているらしい。

対処法1

コントロールパネルからJavaのコントロールパネルを開く。
[セキュリティ]タブの例外サイト・リストにURLを追加する。

対処法2

同じくJavaのコントロールパネルを開く。
[詳細]タブにて「次世代のJava Plug-inを有効にする(ブラウザの再起動が必要)」のチェックを外す。

セキュリティの問題上、厳しくなってきているようです。
そのため、やみくもに許可していいというわけではありません。
信頼できるサイトのみ、許可するようにしましょう。

7,250 views