Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Sub Auto_open()
- ' LoadPrintInfo Макрос
- ' Сочетание клавиш: Ctrl+Shift+L
- '
- jDate = 1
- jName = 3
- jSN = 4
- PrinterLogs = "PrinterLogs.txt"
- PrinterLogs_bak = "PrinterLogs.bak"
- ss = ActiveWorkbook.Path & "\"
- PrinterLogs = ss & PrinterLogs
- PrinterLogs_bak = ss & PrinterLogs_bak
- If Len(Dir(PrinterLogs)) = 0 Then
- Exit Sub
- End If
- ' Открытие текстого файла
- Workbooks.OpenText Filename:=PrinterLogs, _
- Origin:=866, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
- xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=True, _
- Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 4), _
- Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1)), _
- TrailingMinusNumbers:=True
- 'Цикл по строкам
- Range("A1").Select
- Selection.End(xlDown).Select
- iend = ActiveCell.Row
- For i = 1 To iend
- Windows("PrinterLogs.txt").Activate
- dat = Cells(i, jDate).Value
- Windows("Printers-Copiers.xls").Activate
- Sheets("Стат2").Activate
- ActiveSheet.Outline.ShowLevels RowLevels:=0, ColumnLevels:=2
- Columns("A:A").Select
- Set c = Selection.Find(What:=dat, After:=ActiveCell, LookIn:=xlFormulas _
- , LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
- MatchCase:=False, SearchFormat:=False)
- If c Is Nothing Then
- Range("A1").Select
- Selection.End(xlDown).Select
- tt = ActiveCell.Row + 1
- Cells(tt, jDate).Value = dat
- Else
- tt = Selection.Find(What:=dat, After:=ActiveCell, LookIn:=xlFormulas _
- , LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
- MatchCase:=False, SearchFormat:=False).Row
- End If
- ' Поиск колонки принтера
- Windows("PrinterLogs.txt").Activate
- strtmp = Cells(i, jSN).Value
- If strtmp <> "" Then
- Windows("Printers-Copiers.xls").Activate
- Rows("3:3").Select
- Set c = Selection.Find(What:=strtmp, After:=ActiveCell, LookIn:=xlFormulas _
- , LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
- MatchCase:=False, SearchFormat:=False)
- If c Is Nothing Then
- MsgBox ("Не найден принтер")
- Else
- j = Selection.Find(What:=strtmp, After:=ActiveCell, LookIn:=xlFormulas _
- , LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
- MatchCase:=False, SearchFormat:=False).Column
- End If
- Windows("PrinterLogs.txt").Activate
- Cells(i, jSN + 1).Select
- If Cells(i, jSN + 2).Value <> "" Then
- Range(Selection, Selection.End(xlToRight)).Select
- Selection.Copy
- Windows("Printers-Copiers.xls").Activate
- Cells(tt, j).Select
- ActiveSheet.Paste
- Selection.End(xlToRight).Select
- Else
- Selection.Copy
- Windows("Printers-Copiers.xls").Activate
- Cells(tt, j).Select
- ActiveSheet.Paste
- End If
- j = ActiveCell.Column + 1
- Windows("PrinterLogs.txt").Activate
- strtmp = Cells(i, jName).Value
- Windows("Printers-Copiers.xls").Activate
- Cells(tt, j).Value = strtmp
- End If
- Next i
- Windows("PrinterLogs.txt").Activate
- ActiveWorkbook.Close
- Kill PrinterLogs_bak ' Удаление файла
- Name PrinterLogs As PrinterLogs_bak ' Перемещение и переименование файла
- Windows("Printers-Copiers.xls").Activate
- ActiveSheet.Outline.ShowLevels RowLevels:=0, ColumnLevels:=1
- ActiveWorkbook.Save
- ' ActiveWorkbook.Close
- Application.Quit
- End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement