Невозможно объединить данные нескольких листов из нескольких расширений с одним заголовком всех отдельных листов

Самое простое решение - передать путь в качестве аргумента при запуске jar.

Вы можете автоматизировать это с помощью сценария оболочки (.bat в Windows, .sh в другом месте):

java -jar my-jar.jar .

Я использовал . для передачи текущего рабочего каталога.

UPDATE

Возможно, вы захотите вставить файл jar в подкаталог, t случайно щелкните по нему. Ваш код также должен проверить, чтобы убедиться, что аргументы командной строки были предоставлены, и предоставить хорошее сообщение об ошибке, если аргументы отсутствуют.

0
задан Tim Williams 13 July 2018 в 06:25
поделиться

1 ответ

вам нужно добавить цикл, чтобы пройти через эти три листа против каждой открытой книги

попробуйте это (не проверено)

Option Explicit

Sub simpleXlsMerger()
    Dim bookList As Workbook
    Dim mergeObj As Object, dirObj As Object, filesObj As Object, everyObj As Object
    Dim iSht As Long
    Dim masterWb As Workbook

    Set masterWb = ThisWorkbook
    Application.ScreenUpdating = False
    Set mergeObj = CreateObject("Scripting.FileSystemObject")
    Set dirObj = mergeObj.Getfolder("C:\Excel\Path")
    Set filesObj = dirObj.Files
    For Each everyObj In filesObj
        With Workbooks.Open(everyObj) ' open and reference current workbook
            For iSht = 1 To 3 ' loop through sheets index from 1 to 3
                With .Sheets(iSht) ' reference referenced workbook sheet with current index
                    .Range("A2:IV" & .Cells(.Rows.Count, 1).End(xlUp).Row).Copy Destination:=masterWb.Sheets(iSht).Cells(masterWb.Sheets(iSht).Rows.Count, 1).End(xlUp)
                End With
            Next
            .Close
        End With
    Next
End Sub
2
ответ дан DisplayName 17 August 2018 в 13:33
поделиться
  • 1
    Получение ошибки Runtime, & quot; Объект не поддерживает это свойство или Methond & quot; – Karthik123 13 July 2018 в 07:02
  • 2
    какая линия выдает ошибку? – DisplayName 13 July 2018 в 07:19
  • 3
    Я действительно не знаю, как получить номер строки для ошибок времени выполнения ... Пожалуйста, предложите мне, если у вас есть идея – Karthik123 13 July 2018 в 11:01
  • 4
    в подсказке ошибки нажмите & quot; Debug & quot; и вы попадете на оскорбительную линию – DisplayName 13 July 2018 в 11:18
  • 5
    Эта строка является проблемой: .Range («A2: IV» & amp; .Cells (.Rows.Count, 1) .End (xlUp) .Row) .Copy Destination: = masterWb.Sheets (iSht) .Cells (masterWb .Sheets (iSht) .Rows.Count, 1) .End (xlUp) – Karthik123 13 July 2018 в 12:01