トップ 差分 一覧 ソース 検索 ヘルプ PDF RSS ログイン

Office VBA メモ

一部の情報は非常に古いもの(20年以上前〜)ですので、利用する際はご注意ください(Java 1.4 とか .NET 1.0 とか、Windows 2000 とか)
お問い合せは wiki@shise.net まで。Gmail に転送されるので、スパムは全部カットされます。


 

Word


 総ページ数を返す (カウントする) VBA マクロ


ttp://support.microsoft.com/default.aspx?scid=kb%3Bja%3B185509

 パスワード解析マクロのためのメモ


'ファイルに対してパスワードが合ってるかどうか調べる関数
Function IsPassword(file As String, pass As String)

    'エラーが起きたらじゃんぷ
    On Error GoTo Err

    'ファイル名とパスワードを指定する。
    Application.Documents.Open file, PasswordDocument:=pass, Visible:=False

    'パスワードでファイルを開けたので、Success に飛ぶ。
    GoTo Success

Err:
    'パスワード違うっぽい
    IsPassword = False
    Exit Function

Success:
    Dim i As Integer
    
    'ドキュメント数を取得
    i = Application.Documents.Count
    'さっき開いた(開けた)ドキュメントを閉じる。
    Application.Documents(i - 1).Close (wdDoNotSaveChanges)
    
    'パスワードあってましたよ。
    IsPassword = True
End Function

セルを連結して次の行を選択するマクロ

Sub Macro2()
    Application.ScreenUpdating = False

    Dim Row
    Dim Start
    Dim Finish
    
    Dim ADDR
    Dim ADDR2
    Dim CNT
    ADDR = Split(ActiveCell.ADDRESS, "$")
    CNT = Selection.Columns.Count - 1
    ActiveCell.Offset(0, CNT).Activate
    ADDR2 = Split(ActiveCell.ADDRESS, "$")

    Start = ADDR(1)
    Finish = ADDR2(1)
    
    Row = ActiveCell.Row
    Range(Start & Row & ":" & Finish & Row).Select
    With Selection
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlCenter
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With
    Selection.Merge
    'Range(Start & (Row + 1)).Select
    Range(Start & Row + 1 & ":" & Finish & Row + 1).Select
    
    Application.ScreenUpdating = True
End Sub