新規記事の投稿を行うことで、非表示にすることが可能です。
2020年07月10日
[バッチファイル] ファイルのバックアップ
20世代のファイルのバックアップを作成。
バッチファイル。タスクスケジュールなどで処理を実行する。
バッチファイル。タスクスケジュールなどで処理を実行する。
rem ◆サーバーにあるファイルをフォルダ単位にローカルにBackup
rd /s/q c:\backup\km_backup_20
ren "c:\backup\km_backup_19" "km_backup_20"
ren "c:\backup\km_backup_18" "km_backup_19"
ren "c:\backup\km_backup_17" "km_backup_18"
ren "c:\backup\km_backup_16" "km_backup_17"
ren "c:\backup\km_backup_15" "km_backup_16"
ren "c:\backup\km_backup_14" "km_backup_15"
ren "c:\backup\km_backup_13" "km_backup_14"
ren "c:\backup\km_backup_12" "km_backup_13"
ren "c:\backup\km_backup_11" "km_backup_12"
ren "c:\backup\km_backup_10" "km_backup_11"
ren "c:\backup\km_backup_09" "km_backup_10"
ren "c:\backup\km_backup_08" "km_backup_09"
ren "c:\backup\km_backup_07" "km_backup_08"
ren "c:\backup\km_backup_06" "km_backup_07"
ren "c:\backup\km_backup_05" "km_backup_06"
ren "c:\backup\km_backup_04" "km_backup_05"
ren "c:\backup\km_backup_03" "km_backup_04"
ren "c:\backup\km_backup_02" "km_backup_03"
ren "c:\backup\km_backup_01" "km_backup_02"
mkdir "c:\backup\km_backup_01"
xcopy /d/e/y/i/r "\\Server\共有フォルダ\aaaaaaa" "c:\backup\km_backup_01\aaaaaaa"
xcopy /d/e/y/i/r "\\Server\共有フォルダ\bbbbbbb" "c:\backup\km_backup_01\bbbbbbb"
xcopy /d/e/y/i/r "\\Server\共有フォルダ\ccccccc" "c:\backup\km_backup_01\ccccccc"
rem ◆ローカルにあるファイルをフォルダ単位にサーバーにBackup
rd /s/q "\\Server\共有フォルダ\backup\km_backup_20"
ren "\\Server\共有フォルダ\backup\km_backup_19" "km_backup_20"
ren "\\Server\共有フォルダ\backup\km_backup_18" "km_backup_19"
ren "\\Server\共有フォルダ\backup\km_backup_17" "km_backup_18"
ren "\\Server\共有フォルダ\backup\km_backup_16" "km_backup_17"
ren "\\Server\共有フォルダ\backup\km_backup_15" "km_backup_16"
ren "\\Server\共有フォルダ\backup\km_backup_14" "km_backup_15"
ren "\\Server\共有フォルダ\backup\km_backup_13" "km_backup_14"
ren "\\Server\共有フォルダ\backup\km_backup_12" "km_backup_13"
ren "\\Server\共有フォルダ\backup\km_backup_11" "km_backup_12"
ren "\\Server\共有フォルダ\backup\km_backup_10" "km_backup_11"
ren "\\Server\共有フォルダ\backup\km_backup_09" "km_backup_10"
ren "\\Server\共有フォルダ\backup\km_backup_08" "km_backup_09
ren "\\Server\共有フォルダ\backup\km_backup_07" "km_backup_08"
ren "\\Server\共有フォルダ\backup\km_backup_06" "km_backup_07"
ren "\\Server\共有フォルダ\backup\km_backup_05" "km_backup_06"
ren "\\Server\共有フォルダ\backup\km_backup_04" "km_backup_05"
ren "\\Server\共有フォルダ\backup\km_backup_03" "km_backup_04"
ren "\\Server\共有フォルダ\backup\km_backup_02" "km_backup_03"
ren "\\Server\共有フォルダ\backup\km_backup_01" "km_backup_02"
mkdir "\\Server\共有フォルダ\backup\km_backup_01"
xcopy /d/e/y/i/r "C:\ddddddd" "\\Server\共有フォルダ\backup\km_backup_01\ddddddd"
xcopy /d/e/y/i/r "C:\eeeeeee" "\\Server\共有フォルダ\backup\km_backup_01\eeeeeee"
xcopy /d/e/y/i/r "C:\fffffff" "\\Server\共有フォルダ\backup\km_backup_01\fffffff"
【このカテゴリーの最新記事】
-
no image
-
no image
2020年06月10日
[Access vba] Excelの最終行/最終列/アルファベットの列を取得
Excelの最終行/最終列/アルファベットの列を取得
'ACCESSのVBAの中でExcelを開き最終行/最終列/アルファベットの列を取得
Dim oApp As Object ' Application Object
Dim oWkb As Object ' Excel.Workbook Object
Dim oWsh As Object ' Excel.WorkSheet Object
Dim RowNxt As Long
Dim MaxCol As Long
Dim MaxCol_A As String
Dim ColNxt_A As String
On Error GoTo ErrProc
Set oApp = CreateObject("Excel.Application")
Set oWkb = oApp.Workbooks.Open(FileNm)
Set oWsh = oWkb.Worksheets(1) '1シート目を対象
With oWsh
RowNxt = .Cells(oWsh.Rows.Count, 1).End(xlUp).Row + 1 '最終行の次の行を取得(最終行 + 1)
MaxCol = .Cells(1, oWsh.Columns.Count).End(xlToLeft).Column '最終列のアドレスの数字取得
MaxCol_A = .Cells(1, MaxCol).Address(RowAbsolute:=True, ColumnAbsolute:=False) '最終列のアドレス取得
MaxCol_A = Left(MaxCol_A, InStr(MaxCol_A, "$") - 1) '最終列のアルファベットだけを取得
ColNxt_A = .Cells(1, MaxCol + 1).Address(RowAbsolute:=True, ColumnAbsolute:=False) '最終列の次の列(最終列 + 1)のアドレス取得
ColNxt_A = Left(ColNxt_A, InStr(ColNxt_A, "$") - 1) '最終列の次の列のアルファベットだけを取得
End With
2020年05月12日
[Access vba] 他のDBにあるテーブルのオートナンバーを1にリセット
他のDBにあるテーブルのオートナンバーを1にリセット
Dim sFPath As String
Dim voCn As New ADODB.Connection
sFPath = "C:\aaaaa\bbbbb.accdb" '←DBのパス
Set voCn = New ADODB.Connection
'◆オートナンバーを1にリセット テーブル名:cccccTable オートナンバーの列名:ddddd
voCn.ConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & sFPath
voCn.Open
voCn.Execute CommandText:="Alter Table [cccccTable] Alter Column [ddddd] Identity( 1, 1 );"
voCn.Close: Set voCn = Nothing
2020年04月27日
[Access vba] オートナンバーを1にリセット。
オートナンバーを1にリセット。
'テーブル名:cccccTable オートナンバーの列名:ddddd
CurrentProject.Connection.Execute CommandText:="Alter Table [cccccTabel] " _
& "Alter Column [ddddd] Identity( 1, 1 );"
2020年03月10日
[Access vba] Excelの空白セルを選択して、色を付ける。
空白セルを選択して、色を付ける。
Access内でExcel編集するケース。
Sub EXCEL_FORMAT_HM_BS(FileNm As String)
Dim oApp As Object ' Application Object
Dim oWkb As Object ' Excel.Workbook Object
Dim oWsh As Object ' Excel.WorkSheet Object
Dim MaxRow As Long
Dim MaxCol As Long
Dim MaxCol_A As String
Dim rng As Range
On Error GoTo ErrProc
Set oApp = CreateObject("Excel.Application")
Set oWkb = oApp.Workbooks.Open(FileNm)
Set oWsh = oWkb.Worksheets(1) '1シート目を対象
'oApp.Visible = True
oWsh.Activate
With oWsh
MaxRow = .Cells(oWsh.Rows.Count, 1).End(xlUp).Row '最終行
MaxCol = .Cells(1, oWsh.Columns.Count).End(xlToLeft).Column '最終列 数字
MaxCol_A = .Cells(1, MaxCol).Address(RowAbsolute:=True, ColumnAbsolute:=False) '最終列 アドレス取得
MaxCol_A = Left(MaxCol_A, InStr(MaxCol_A, "$") - 1) '最終列のアルファベットだけを取得
'空白セルを選択して、色を付ける。
Set rng = .Range("A1:" & MaxCol_A & MaxRow).SpecialCells(xlCellTypeBlanks)
With rng.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = -0.149998474074526
.PatternTintAndShade = 0
End With
End With
oWkb.Close saveChanges:=True
Proc_EXIT:
oApp.Quit
Set oApp = Nothing
Set oWkb = Nothing
Set oWsh = Nothing
DoCmd.SetWarnings 1
Exit Sub
ErrProc:
MsgBox Err.Number & " " & Err.Description
Resume Proc_EXIT
End Sub
Excelの「条件を指定してジャンプ」の空白セル選択をAccessVBA行うと上記となる。
2020年03月05日
[Access vba] グループ毎に Page/Pages のページ数を印字する。
グループ毎に Page/Pages のページ数を印字する。
フォームの設定
1.Page/Pagesを表示するテキストボックスをページフッターに配置する。
名前 txtGrpPages
コントロールソース 設定しない
2.レポート上のどこでもいいので Pages を参照するテキストボックスを配置する。
名前 <任意>
コントロールソース =[Pages]
可視 いいえ
グループ化しているフィールド名は、「納入者」、この場合の配置はページヘッダーに置きました。
Option Compare Database
Option Explicit
Dim d As Object ' Dictionary オブジェクト用変数
Dim brk As Variant
Private Sub Report_Open(Cancel As Integer)
Set d = CreateObject("Scripting.Dictionary")
End Sub
'「納入者」のヘッダー
Private Sub グループフッター0_Format(Cancel As Integer, FormatCount As Integer)
If Me.Pages = 0 Then
d(Me.納入者.Value) = Me.Page
End If
End Sub
Private Sub ページヘッダーセクション_Format(Cancel As Integer, FormatCount As Integer)
If Me.納入者.Value <> brk Then
Me.Page = 1
brk = Me.納入者.Value
End If
If Me.Pages > 0 Then
Me.txtGrpPages = Me.Page & "/" & d(Me.納入者.Value) & "ページ"
End If
End Sub
hatena chipさんの「グループ毎に Page/Pages 形式のページ数を表示する」を参考にしています。
2020年02月26日
[Access vba] ファイル名の拡張子を取った前の部分を取り出す&拡張子を取り出す
ファイル名の拡張子を取った前の部分を取り出す&拡張子を取り出す
fnameMAE= Left(fname, InStrRev(fname, ".", , 1) - 1) '拡張子を取った前の部分の取り出す
kakuchoshi= Right(fname, Len(fname) - InStrRev(fname, ".", , 1)) '拡張子を取り出す
2020年02月17日
[Access vba] テーブルへ出力する。
テーブルを読みテーブルへ出力する。
'INテーブルの連番開始番号から連番終了番号までのデータをOUTテーブルに出力する。
Sub renban_tenkai()
Dim cn As ADODB.Connection
Dim in_rs As ADODB.Recordset 'INテーブル
Dim ot_rs As ADODB.Recordset 'OUTテーブル
Dim lcounter As Long
Dim lstart As Long
Dim lend As Long
On Error GoTo ErrProc
sSQL = "DELETE * FROM OUTテーブル;" 'OUTテーブルを削除
CurrentDb.Execute sSQL
Set cn = CurrentProject.Connection
Set in_rs = New ADODB.Recordset
Set ot_rs = New ADODB.Recordset
in_rs.Open "INテーブル", cn, adOpenKeyset, adLockReadOnly 'INテーブル 読み取り専用で開く
ot_rs.Open "OUTテーブル", cn, adOpenKeyset, adLockOptimistic
'SEQNOを振るためのKey初期化
If Not in_rs.EOF Then
s部品番号 = in_rs!部品番号
iSEQNO = 0
End If
Do Until in_rs.EOF
lstart = Val(in_rs!連番START)
lend = Val(in_rs!連番END)
For lcounter = lstart To lend
'SEQNOを振るための制御
If s部品番号 = in_rs!部品番号 And s客先製造日 = in_rs!客先製造日 Then
iSEQNO = iSEQNO + 1
Else
s部品番号 = in_rs!部品番号
s客先製造日 = in_rs!客先製造日
iSEQNO = 1
End If
ot_rs.AddNew
ot_rs!部品番号 = in_rs!部品番号
ot_rs!客先製造日 = in_rs!客先製造日
ot_rs!連番 = Format(lcounter, "000000") '6桁
ot_rs!SEQNO = iSEQNO
ot_rs.Update
Next
in_rs.MoveNext
Loop
in_rs.Close: Set in_rs = Nothing
cn.Close: Set cn = Nothing
Proc_Exit:
DoCmd.SetWarnings 1
Exit Sub
ErrProc:
MsgBox Err.number & " " & Err.description
Resume Proc_Exit
End Sub
2020年02月12日
[Access vba] ファイルのコピー
「FileCopyステートメント」を使います。
FileCopy "c:\AAAAA\MMfile.txt", "c:\AAAAA\
同一フォルダ内でMMfile.txtからLLfile.txtへコピーされます。
FileCopy "c:\AAAAA\MMfile.txt", "c:\BBBBB\MMfile.txt""
AAAAAフォルダからBBBBBフォルダにMMfile.txtがコピーされます。
2020年02月05日
[Access vba] Acessから他のAccessを起動し引数を渡す。
Acessから他のAccessを起動し引数を渡す。
Private Sub BUHINBANGO_DblClick(Cancel As Integer)
Dim m_name As String
m_name = "MSAccess.exe """ & "C:\TOOL\ZAIKO_REF.accdb""" & "/cmd " & Me.BUHINBANGO & "" & ""
Shell m_name, vbNormalFocus
Proc_EXIT:
Exit Sub
ErrProc:
MsgBox Err.Number & " " & Err.Description
Resume Proc_EXIT
End Sub
↑ フォーム上の部品番号をダブルクリックするとZAIKO_REF.accdbが起動する。
その時、Me.BUHINBANGOがZAIKO_REF.accdbに引き渡される。
↓ ZAIKO_REF.accdbの側での受け取り。
その時、Me.BUHINBANGOがZAIKO_REF.accdbに引き渡される。
↓ ZAIKO_REF.accdbの側での受け取り。
Public p_部品番号 As String
Function Auto_proc()
p_部品番号 = Command
End Function
Auto_proc()はAutoExec マクロで呼ばれているモジュールです。