Вопрос к LeoCats

программирование excel по

Здравствуйте. Я опять по тому же вопросу. Код который вы дали вчера не дает того что мне надо. Первое создаются дополнительные листы. Второе папка V ГСМ не создается. Третье выходит сообщение “Сохранить изменение документа”. Четвертое в ячейки А9 находятся данные документа, которые и должны стать именем файла.

Код который показан внизу почти идеальный за исключением.
1. Он не выполняется на другом компьютере. Выходит ошибка, строка
fs.CreateFolder (FellPathToSave) окрашена желтым цветом.
2. Можно ли после сохранения закрыть программу полностью. Так будет еще лучше.
3. Если это важно, то у меня всего один лист, имя листа V_ГСМ. Подправьте, если это возможно чтобы выполнялись два выше перечисленных пункта

Dim PathToSave As String, FolderName As String, FellPathToSave As String
Dim fs As Object
PathToSave = ""
FolderName = "C:\Documents and Settings\Сергей\Мои документы\V ГСМ\"
FellPathToSave = PathToSave & FolderName & "\"
Set fs = CreateObject("Scripting.FileSystemObject")
If Not fs.FolderExists(FellPathToSave) Then
fs.CreateFolder (FellPathToSave)
End If
Range("A9").Select
ActiveWorkbook.SaveAs FileName:= _
FolderName & ActiveCell.Value & ".xlsx", _
FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
------------------------------------------------------------------------------------------------------------------------------------------

Примечание:
1. Проект для меня мучительный, но почти законченный. Осталось разобраться с несколькими кнопками и сохранением.
2. Где найти спеца? Через интернет как ему все это объяснять по интернету. Это рядом с ним надо сидеть.
3 .А чем вам не нравится код который я дал. Он же сделан по вашим кодам. Просто сохранение подправить чтобы на другом комп. создание папки и сохранение происходило и прогамма закрывалась после сохранения.

Примечание:
Буду разбираться потом сообщу
Ответы:
Ты точно скопировал код так как я его привел? Если да, то вот причины по порядку:
1. Создаются дополнительные листы. Это я исправил, вот код:
Код который вы считает идеальным на самом деле может оказаться не работоспособным для ваших же нужд. Например, если вы собираетесь копировать данные с флэшки, то у юзера может не быть папки \Сергей\ и соответсвенно вам придется на каждом компьютере заходить в макросы и исправлять адрес. То решение которое я предлагаю, позволяет изменить путь на самом листе, что на мой взгляд, гораздо проще и быстрее.
Что с именем не возится можно указать непосредсвенно файл, но открыть его уже через дальнейшее действие в макросе:
Sub GetNameOpenedFile()
With Application.FileDialog(msoFileDialogOpen)
   .Show
   If .SelectedItems.Count = 0 Then Exit Sub
   Filename = .SelectedItems(1)
End With


15 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.