У меня есть макрос, чтобы увидеть, содержит ли ячейка эту строку, если она выполняет команду «Сохранить как» с этим стандартом имени набора. Когда я пытаюсь запустить макрос, инструкции if кажутся неработоспособными. Когда я перехожу шаг за шагом, он попадает в операторы if, но сохраняет файл personal.xlsb вместо файла, над которым я работаю. Вот код, который я знаю, что есть что-то неправильно с нимExcel Personal.xlsb save document Макро
Dim FName As String
Dim FPath As String
Dim answer As Integer
If ActiveWorkbook.Sheets("Sheet1").Range("A1") = "String1" Then
FPath = "C:\String1"
FName = Sheets("Sheet1").Range("A1").Text
If Len(FPath & "\" & FName) = 0 Then
answer = MsgBox("Do you want to Save File As: " & FName & "?", vbYesNo + vbQuestion, "Microsoft Excel")
If answer = vbYes Then
ThisWorkbook.SaveAs Filename:=FPath & "\" & FName
End If
Else
ThisWorkbook.Save
End If
End If
Я открыт для предложений самое я должен проверить, если файл содержит строку, если так убедитесь, что он не существует, и если это так просто сохранить вместо сохранения как.
'' ThisWorkbook.SaveAs' >> ActiveWorkbook.SaveAs' В Excel VBA 'ThisWorkbook' это учебное пособие, в котором код работает –
Спасибо, не думаю, что было другое, но я вижу это сейчас –
Также имейте в виду, что ваша логика может быть немного выключена - если в каталоге C: \ String1 нет файла с именем, указанным в ячейке A1 (т.е. «String1»), пользователь будет спросите, хотите ли они сохранить файл там, создав таким образом файл C: \ String1 \ String1.xlsx. Но если файл с именем C: \ String1 \ String1 уже существует (что, по общему признанию, маловероятно, так как обычно файлы будут иметь расширение), книга будет сохранена обратно в том месте, где она была открыта, что может быть D: \ NonString2 \ Variable3.xlsx. – YowE3K