Excel VBA のバックアップ(No.1)
- 2010
- RSS更新テスト
gmailのほうにファイルくっつけてメールしました
- 今日はちょっと忙しくなるので手伝えないかも、ごめんね。明日以降ならいけるぜ!!
- 必要そうなの
- ゼロ埋め(4→0004)
- Dim sheet As Worksheet
- Dim cnt As Long
- cnt = 11
- sheet.Cells(1,1).Value = Format(cnt,"'000")
- 'シートの(1,1)のセルに「011」と表示されます
- ゼロ埋め(4→0004)
- シートクリア
- ブックをアクティブにする
- Dim book1 As Workbook
- Set book1 = Application.Workbooks(1)
- book1.Activate
- まとめると
- Workbooks(1).Activate
- 処理対象ブックを開くがバックグラウンドで開く。画面上にエクセルファイルを開かない。
- ActiveWindow.Visible= False
- Openしたブックがアクティブじゃないとき
- Windows(ブックの名前).Visible = false
- 画面の更新をとめる
- どうちがうの
- セル選択、シート選択による移動を画面表示しないのとそもそもブックを表示しない(タスクバーでも非表示)
- 非表示にすると、activateがうまくはたらかない。処理対象ファイル指定をアクティブにしてだめ。非表示プロパティを消すと大丈夫。ふーん。非表示でも処理対象としたい。
- シートの値貼付
- Copyメソッドは異なるブックに存在するシートも操作可。
- アクティブブックのSheet2を、Book2にコピー。
- Sub Sample05()
- Worksheets("Sheet2").Copy After:=Workbooks("Book2").Worksheets("Sheet1")
- End Sub
- 文字列操作
- memo
- 初期処理の切り出し
- 変更点:Controlでシート名取得
Sub s_getMaxFromACCESS()
Dim test As Long Dim conAc As Object Dim conTbl As Object Dim SQL As String
' DBとの接続操作:Connectionオブジェクト
Set conAc = CreateObject("ADODB.Connection")
' 取り出したレコードの操作:Recordsetオブジェクト
Set conTbl = CreateObject("ADODB.Recordset")
' プロバイダの種類,データベースのパスと名前を設定
conAc.Provider = "Microsoft.Jet.OLEDB.4.0"
' Debug.Print vDBFileList(0, 0) + "\" + vDBFileList(0, 1)
conAc.Open "C:\Documents and Settings\cit_n000\デスクトップ\test\EDI注文情報作成処理.mdb"
' SQL = "SELECT * FROM ZBUSB_T1001"
SQL = "SELECT Max(FL_SK_NO) FROM ZBUSB_T1001" Set conTbl = New ADODB.Recordset conTbl.Open SQL, conAc, adOpenStatic, adLockReadOnly Debug.Print conTbl.Fields(0).Value conTbl.Close: Set conTbl = Nothing conAc.Close: Set conAc = Nothing
End Sub
Pn-MEMO †
' ファイル選択用ダイアログオープン With Application.FileDialog(msoFileDialogOpen) .AllowMultiSelect = False .Filters.Clear If .Show = -1 Then strFilePath = .SelectedItems.Item(1) Else ' キャンセルの場合終了 GoTo ExitHandler End If End With