Если файл существует цикл +1, пока файл не найден и сохраните - PullRequest
0 голосов
/ 15 февраля 2019

Ниже приведен мой код, и у меня возникают проблемы с его циклом и добавлением числа, пока он не найдет открытое место для сохранения файла

mypath является заполнителем, если вы проверяете это использование одного из ваших путей, пожалуйста

Любая помощь приветствуется!

    Dim fileName = "C:\Desktop\Testing"
    Dim fileExtension As String = ".xlsx"
    Dim fileNumber As Integer = +1




    For Each file As String In fileName
        Do
            If Not IO.File.Exists("C:\Desktop\Testing") Then
                _Book.SaveAs("C:\Desktop\Testing")
                _Excel.Quit
                Exit Do
            Else
                'The file does exist, so increment and try the next one
                fileNumber = fileNumber + 1
                _Book.SaveAs("C:\Desktop\Testing")
                _Excel.Quit
            End If
        Loop
    Next

1 Ответ

0 голосов
/ 16 февраля 2019

Я не думаю, что вы думали об этом вообще.Вы просто добавили код и разместили его.Я уже прокомментировал цикл For Each.В If Else вы делаете то же самое в If, что и в Else, за исключением того, что вы увеличиваете fileNumber, но никогда не используете fileNumber.

Требуется Imports System.IO вверху файла.

Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
    Dim FileNum As Integer
    Do
        Dim fileToTest = "C:\Desktop\Testing" & FileNum.ToString & ".xlsx"
        If File.Exists(fileToTest) Then
            FileNum += 1
        Else
            SaveExcelFile(fileToTest)
            Exit Do
        End If
    Loop
End Sub
Private Sub SaveExcelFile(fullPath As String)
    'Your code to save the file and close excel
End Sub

Теперь на каждой итерации цикла Do у вас будет новое имя файла для тестирования.Когда он находит тот, который не существует, вы переходите к своему коду сохранения, передавая в новом имени файла.

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