Categories
SugiBlog ホームページ制作・システム開発

Excel 罫線等の定数まとめ【Access】

AccessからExcelを操作し、罫線等を設定する場合、私自身もいつも定数の値が何だったかいちいち調べているので、備忘録も兼ねて書いておきます。

まずは全体の流れ

Dim ws

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

Set ws = CreateObject("WScript.Shell")

FileName = ws.SpecialFolders("Desktop") & "\雛形.xlsx"

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

With xlSheet
    'このブロック内に書いていきます
End With

'保存
xlBook.Save

xlBook.Close

xlApp.Application.Quit

Set xlSheet = Nothing
Set xlBook = Nothing
Set xlApp = Nothing

罫線を引く

.Range("A1:I1").Borders.LineStyle = 1
.Range("A1:I1").Borders(8).LineStyle = -4118
.Range("A1:I1").Borders(11).LineStyle = -4115
.Range("A1:I1").Borders(11).Weight = 1

続きを読む…»

413 views

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

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

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

PHONETIC

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

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

366 views

Dictionaryクラス VBA

Dictionaryクラスはハッシュテーブルのように使えるクラスです。
Collectionクラスも同じように使えるのですが、Dictionaryクラスはキーが存在するかどうかをチェックするメソッドがあることがポイントです。

Dim dict As Object

Set dict = CreateObject("Scripting.Dictionary")

キーが存在しないことを確かめてからデータを追加します。

If dict.Exists("いちご") <> True Then
    dict.Add "いちご", "いちご"
End If

ループして全ての値を取り出します。

For Each vntItem In dict.Items
    MsgBox vntItem
Next vntItem

続きを読む…»

580 views

複数の条件分岐 Select Case

複数の条件で処理を分岐させたい場合、Select Caseステートメントを使用します。
他の言語でのswitch文と似ていますので、そちらをご存じの方には親しみやすいと思います。

文法

Select Case 変数
    Case 値1
        変数が値1だった場合の処理
    Case 値2
        変数が値2だった場合の処理
    Case Else
        それ以外の場合の処理
End Select

「Case Else」がswitch文での「default」に当たります。
VisualBasicではbreakは不要です。

値の判定には数値はもちろん、文字列も使用可能です。
また比較条件を指定することもできます。

Select Case 変数
    Case Is 比較条件1
        変数が比較条件1を満たした場合の処理
    Case Is 比較条件2
        変数が比較条件2を満たした場合の処理
    Case Else
        変数がどの条件も満たさなかった場合の処理
End Select

続きを読む…»

588 views

Public宣言された変数の有効期間 [VBA]

VBAで標準モジュールにPublic変数を宣言、またはPrivate変数を宣言してPublicプロシージャで値を書き換える処理を構築した場合、予期せず、変数に格納したはずの値がクリアされることがあります。

実際にACCESSで、汎用的に使えるようにと私もそのような方法で書いたのですが、上記のような事象が発生したので今回調べてみました。
続きを読む…»

1,257 views