Advertisement
Guest User

LoadPRNInfo

a guest
Jun 23rd, 2011
4,510
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Sub Auto_open()
  2. ' LoadPrintInfo Макрос
  3. ' Сочетание клавиш: Ctrl+Shift+L
  4. '
  5. jDate = 1
  6. jName = 3
  7. jSN = 4
  8. PrinterLogs = "PrinterLogs.txt"
  9. PrinterLogs_bak = "PrinterLogs.bak"
  10.  
  11. ss = ActiveWorkbook.Path & "\"
  12. PrinterLogs = ss & PrinterLogs
  13. PrinterLogs_bak = ss & PrinterLogs_bak
  14.  
  15. If Len(Dir(PrinterLogs)) = 0 Then
  16. Exit Sub
  17. End If
  18.  
  19. ' Открытие текстого файла
  20.    Workbooks.OpenText Filename:=PrinterLogs, _
  21.         Origin:=866, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
  22.         xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, Semicolon:=True, _
  23.         Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array(1, 4), _
  24.         Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), Array(7, 1), Array(8, 1)), _
  25.         TrailingMinusNumbers:=True
  26.  
  27. 'Цикл по строкам
  28.    Range("A1").Select
  29.     Selection.End(xlDown).Select
  30.     iend = ActiveCell.Row
  31.    
  32.       For i = 1 To iend
  33.       Windows("PrinterLogs.txt").Activate
  34.       dat = Cells(i, jDate).Value
  35.       Windows("Printers-Copiers.xls").Activate
  36.       Sheets("Стат2").Activate
  37.       ActiveSheet.Outline.ShowLevels RowLevels:=0, ColumnLevels:=2
  38.  
  39.       Columns("A:A").Select
  40.       Set c = Selection.Find(What:=dat, After:=ActiveCell, LookIn:=xlFormulas _
  41.         , LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
  42.         MatchCase:=False, SearchFormat:=False)
  43.          If c Is Nothing Then
  44.          Range("A1").Select
  45.          Selection.End(xlDown).Select
  46.          tt = ActiveCell.Row + 1
  47.          Cells(tt, jDate).Value = dat
  48.           Else
  49.           tt = Selection.Find(What:=dat, After:=ActiveCell, LookIn:=xlFormulas _
  50.         , LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
  51.         MatchCase:=False, SearchFormat:=False).Row
  52.          End If
  53.  
  54. ' Поиск колонки принтера
  55.      Windows("PrinterLogs.txt").Activate
  56.       strtmp = Cells(i, jSN).Value
  57.    If strtmp <> "" Then
  58.       Windows("Printers-Copiers.xls").Activate
  59.       Rows("3:3").Select
  60.       Set c = Selection.Find(What:=strtmp, After:=ActiveCell, LookIn:=xlFormulas _
  61.         , LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
  62.         MatchCase:=False, SearchFormat:=False)
  63.          If c Is Nothing Then
  64.          MsgBox ("Не найден принтер")
  65.           Else
  66.           j = Selection.Find(What:=strtmp, After:=ActiveCell, LookIn:=xlFormulas _
  67.         , LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
  68.         MatchCase:=False, SearchFormat:=False).Column
  69.          End If
  70.      
  71.    
  72.       Windows("PrinterLogs.txt").Activate
  73.       Cells(i, jSN + 1).Select
  74.         If Cells(i, jSN + 2).Value <> "" Then
  75.         Range(Selection, Selection.End(xlToRight)).Select
  76.         Selection.Copy
  77.         Windows("Printers-Copiers.xls").Activate
  78.         Cells(tt, j).Select
  79.         ActiveSheet.Paste
  80.         Selection.End(xlToRight).Select
  81.          Else
  82.          Selection.Copy
  83.          Windows("Printers-Copiers.xls").Activate
  84.          Cells(tt, j).Select
  85.          ActiveSheet.Paste
  86.         End If
  87.       j = ActiveCell.Column + 1
  88.       Windows("PrinterLogs.txt").Activate
  89.       strtmp = Cells(i, jName).Value
  90.       Windows("Printers-Copiers.xls").Activate
  91.       Cells(tt, j).Value = strtmp
  92.   End If
  93.  
  94.       Next i
  95.    
  96.     Windows("PrinterLogs.txt").Activate
  97.     ActiveWorkbook.Close
  98.     Kill PrinterLogs_bak ' Удаление файла
  99.    Name PrinterLogs As PrinterLogs_bak ' Перемещение и переименование файла
  100.    
  101.     Windows("Printers-Copiers.xls").Activate
  102.     ActiveSheet.Outline.ShowLevels RowLevels:=0, ColumnLevels:=1
  103.     ActiveWorkbook.Save
  104. ' ActiveWorkbook.Close
  105.  
  106. Application.Quit
  107.  
  108. End Sub
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement