アフィリエイト広告を利用しています

広告

この広告は30日以上更新がないブログに表示されております。
新規記事の投稿を行うことで、非表示にすることが可能です。
posted by fanblog

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"





【このカテゴリーの最新記事】

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





posted by naka at 11:58 | TrackBack(0) | Access vba

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





posted by naka at 08:02 | TrackBack(0) | Access vba

2020年04月27日

[Access vba] オートナンバーを1にリセット。

オートナンバーを1にリセット。


'テーブル名:cccccTable オートナンバーの列名:ddddd
CurrentProject.Connection.Execute CommandText:="Alter Table [cccccTabel] " _
& "Alter Column [ddddd] Identity( 1, 1 );"







posted by naka at 16:21 | TrackBack(0) | Access vba

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行うと上記となる。



posted by naka at 10:38 | TrackBack(0) | Access vba

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)) '拡張子を取り出す





posted by naka at 16:59 | TrackBack(0) | Access VBA 関数

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




posted by naka at 13:07 | TrackBack(0) | Access vba

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がコピーされます。



posted by naka at 08:23 | TrackBack(0) | Access vba

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の側での受け取り。


Public p_部品番号 As String

Function Auto_proc()

p_部品番号 = Command

End Function

Auto_proc()はAutoExec マクロで呼ばれているモジュールです。
posted by naka at 13:39 | TrackBack(0) | Access vba
カテゴリーアーカイブ
×

この広告は30日以上新しい記事の更新がないブログに表示されております。