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

ADODB.Streamを使ったテキストファイルの読み書き

通常のテキストファイルの読み込みや書き込みだと文字コードがShift_jisでしか扱えません。
他の文字コードを使いたい場合はADODB.Streamを使います。

テキストファイルの読み込み

Dim sr      As Object
Dim strData As String

Set sr = CreateObject("ADODB.Stream")

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

sr.Open 'Streamオブジェクトを開く
sr.LoadFromFile ("ファイルのフルパス") 'ファイルの内容を読み込む
sr.Position = 0 'ポインタを先頭へ

strData = sr.ReadText() 'データ読み込み

sr.Close 'Streamを閉じる

Set sr = Nothing 'オブジェクトの解放

続きを読む…»

230,917 views

クエリーでのデータ抽出上限値

ACCESSのクエリーのお話です。

例えば、テーブルにデータが2,000件存在し、そのうち条件を指定して抽出したデータを上位1,000件のみ表示したいとします。
プログラムでレコードセットを開き、指定した件数を抽出することができますが、もっと簡単な方法があります。

クエリーのデザインビューでクエリープロパティを開きます。
access_query_property
プロパティの「トップ値」に抽出したいデータの件数を入力します。
デフォルトは「すべて」になっています。

これだけで上限値を設定することができます。

6,634 views

C# WebBrowserのレンダリングモード

Visual C#にてブラウザを使用したアプリケーションを作成したとき、
WEBページを表示すると表示がおかしいと思って、ユーザーエージェントを確認してみると
IE7となっていました。

環境はWindows7でIE9なのになぜだろう?と思いました。
どうやら作成したアプリケーションではレンダリングモードが「7」で実行されているようです。

解決するにはレジストリを編集し、レンダリングモードを変更してやらないといけません。

ユーザーエージェントのレジストリキー

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION

レンダリングモードのレジストリキー

HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_DOCUMENT_COMPATIBLE_MODE

ユーザーエージェント、レンダリングモードをIE9にするには、それぞれのレジストリキーに
ユーザーエージェントは「9000」、レンダリングモードは「90000」という値を設定します。
続きを読む…»

10,149 views

フォームを開く/閉じる速度改善

MicroSoft ACCESSにて、フォームを開くとき、閉じるときの速度が遅い場合、
コードの書き方によって改善できることがあります。

以下のようにフォームを開くときにフィルターをかけていた場合

Private Sub Form_Load()

    DoCmd.ApplyFilter , "[Where条件]"

End Sub

上記の場合でいくと開くときにも時間がかかり、
更には、閉じるときにも時間がかかってしまいます。

改善するには、開くときにフィルター条件を引数に与えてしまいます。

Dim stDocName      As String
Dim stLinkCriteria As String

stDocName = "[フォーム名]"
stLinkCriteria = "[Where条件を指定]"

DoCmd.OpenForm stDocName, , , stLinkCriteria

この方法のほうが開く速度も閉じる速度も向上します。

13,623 views

Microsoft Outlookの個人用フォルダ(Outlook.pst)が開けなくなったとき

Microsoft Outlookの個人用フォルダ(Outlook.pst)が2GBを超えてしまうとエラーが発生し、開けなくなってしまいます。
この場合、受信トレイ修復ツール(Scanpst.exe)を実行しても復活できません。
なぜかというと、32bitのMicrosft Officeでは2GBを超えるファイルを扱うことができないからです。

この問題を解決するには、以下のMicrosoftダウンロードセンターより「PST2GB」というツールをダウンロードします。
http://www.microsoft.com/en-us/download/details.aspx?id=12972

PST2GBはサイズを切り詰めた.pstファイルのコピーを作成します。
指定した量のデータをファイルから切り捨てるため、作成されるコピーにはデータの一部が含まれません。
つまり、容量を2GB以下に落とすため、データを削除します。
ここで切り捨てられるデータをユーザーが選択することはできません。
続きを読む…»

22,880 views