Создайте файл Excel, если файл отсутствует в каталоге, и добавьте строку с помощью VB. - PullRequest
0 голосов
/ 24 февраля 2020

Я хочу создать базу данных Excel на основе даты, например, как показано ниже

 Dim fileDateTime As String = DateTime.Now.ToString("yyyyMMdd")

Поэтому мое имя файла будет примерно таким: 20200224.xls

Создать файл очень просто. Я могу просто использовать следующий код

Dim xlWorkBook As Excel.Workbook
xlWorkBook.SaveAs("c:\Temp\Test\" & fileDateTime & ".xls", Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue)

Моя проблема заключается в том, как

  1. Чтобы проверить файл, если он существует, прежде чем создавать новый файл
  2. Так как имя файла основано на дате, как я могу проверить, доступен ли файл в каталоге по дате дня. Если файл доступен, я хочу открыть и добавить строку и сохранить файл

Заранее спасибо.

1 Ответ

0 голосов
/ 24 февраля 2020

1, проверьте, существует ли файл

          My.Computer.FileSystem.FileExists("c:\Check.xlsm")

, возвращает логическое значение

2, если существует:

    'First get an application instance
    xlApp = GetObject("", "Excel.Application")

    'Second open the workbook you need
    xlBook = xlApp.Workbooks.Open("c:\Check.xlsm")

    'set visibility
    xlApp.Visible = True

    ' do not display alerts
    xlApp.DisplayAlerts = False
    xlApp.EnableEvents = False

    ' reference the sheet
    xlSheetRoll = xlBook.Worksheets("FINAL")

    ' find last row
    Dim lRow As Integer = xlSheetRoll .UsedRange.Rows.Count

    ' insert values to new row
    xlSheetRoll.Cells(lRow+1, 1).value = "Report"
    xlSheetRoll.Cells(lRow+1, 2).value = "Report Line"
    xlSheetRoll.Cells(lRow+1, 3).value = "Program"
    xlSheetRoll.Cells(lRow+1, 4).value = "Service"


    'save changes
    xlBook.Save()

    'close workbook
    xlBook.Close(False)

    'quit app
    xlApp.Quit()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...