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

Accessからはできないフリガナの割り付け

WindowsXPでは[Excelオブジェクトを使用してフリガナ入力]で紹介しているように、Accessだけで可能だったフリガナ変換が、Windows7では出来なくなっていました。
色々と方法を模索してはみたものの、解決策が見つかっていませんでした。

そして今日、なんとなく改めて挑戦してみると…なんと!(それほど大したことではありませんが;)方法が見つかりました!
といっても結局、Accessだけではできない、というのが結論です。
つまりExcelを使って実装することになります。

PHONETIC

まず、Excelの「PHONETIC」という関数。
これはセルに入力した文字のフリガナを取得することができます。

例としてこのようなExcelを用意してみます。
001
続きを読む…»

5,015 views

Outlookを利用してメール送信 [VBA]

ACCESSからOutlookを起動し、メールを送信することができます。
メール本文等にデータベースの内容などを引用して作成したい場合などに便利です。

【動作確認環境】
Windows XP & Microsof Office 2000
Windows7 & Microsoft Office 2010, 2013

まずは宣言

Dim oApp    As Object 'Outlookのオブジェクト
Dim objMAIL As Object 'メールのオブジェクト

Dim strMOJI As String '本文
Dim strSign As String '署名

Outlookを起動

オートメーションでOutlookを起動します。

Set oApp = CreateObject("Outlook.Application")

Outlook本体の画面も起動したいときは

Dim myNameSpace As Object
Dim myFolder    As Object

Set myNameSpace = oApp.GetNamespace("MAPI")

'規定のフォルダーを指定
Set myFolder = myNameSpace.GetDefaultFolder(6)
myFolder.Display  '表示

メールの作成

Set objMAIL = oApp.CreateItem(0)

objMAIL.Display '編集画面を表示

宛先を指定します。CC、Bccも可能です。
複数の宛先を;(セミコロン)で区切ることもできます。

objMAIL.To = mailTo
objMAIL.CC = mailcc
objMAIL.Bcc = mailbcc

続きを読む…»

84,918 views

Excelオブジェクトを使用してフリガナ入力

ACCESSからVBAでフリガナを自動入力します。

Dim xlObj As Object

Set xlObj = CreateObject("Excel.Application")

Hurigana = xlObj.GetPhonetic("文字列")

Set xlObj = Nothing

ちなみにExcelだと、

Phonetic("文字列")

だけでできるようです。

2,694 views

ACCESSからExcelファイルが開いているか調べる

ACCESSからオートメーションでExcelを開き、WorkbooksReadOnlyプロパティを取得して現在開かれているかどうかを判別します。

まずは変数を宣言

Dim xlApp  As Object
Dim xlBook As Object
Dim FileName As String

ファイルを指定します。
Environ("USERPROFILE")はWindowsの環境変数でC:\Users\ユーザー名というパスを返します。

FileName = Environ("USERPROFILE") & "\デスクトップ\sample.xls"

Excelのオートメーションオブジェクトを作成します。

Set xlApp   = CreateObject("Excel.Application")
Set xlBook  = xlApp.Workbooks.Open(FileName)

開かれたワークブックのReadOnlyプロパティがtrueなら誰かがそのファイルを開いている、ということになります。

If xlBook.ReadOnly Then
    MsgBox "開いています。"
Else
    MsgBox "開いていません。"
End If

ワークブックを閉じてExcelを終了します。

xlBook.Close
xlApp.Application.Quit

最後にオブジェクトの破棄も忘れずに

Set xlBook = Nothing
Set xlApp = Nothing
37,154 views

ACCESS Excelオートメーションメモ

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

Dim FileName   As String
Dim myFileName As String
Dim myShape    As Object

FileName = Environ("USERPROFILE") & "\デスクトップ\sample.xls"

Set xlApp   = CreateObject("Excel.Application")
Set xlBook  = xlApp.Workbooks.Add
Set xlSheet = xlBook.WorkSheets(1)

With xlSheet

    .Range("A18:D18").MergeCells = True       'セルを結合
    .Range("A18").HorizontalAlignment = -4108 '横位置を中央揃えに
    .Range("A18").Font.Size = 48              'フォントの大きさを変更

End With

'保存
xlBook.Saveas (FileName)

xlBook.Close

xlApp.Application.Quit

Set xlSheet = Nothing
Set xlBook = Nothing
Set xlApp = Nothing
3,237 views