копирование файла

Программирование на Visual Basic for Applications
Artur KakTus
Обычный пользователь
Обычный пользователь
 
Сообщения: 51
Зарегистрирован: 19.02.2004 (Чт) 12:00
Откуда: Ukraine

копирование файла

Сообщение Artur KakTus » 13.09.2005 (Вт) 19:50

Здравствуйте, есть вопрос. Я пытаюсь создать переименованную копию файла в тойже папке, что и исходный файл.
Ничего пока не получается. И мало того, я попытался из VBA просто скопировать файл в другую папку - ничего не получилось, листинг примерно такой:

d = thisworkbook.path
f = d & thisworbook.name

filecopy d, "C:\"

/пробывал filecopy d, "C:\имя файла"

Правда всегда пробывал имя отличное от исходного :(

' Ничего не пойму, получаю ошибку 73 или 75 или 75 - нет доступа, папка не найдена и т.д. Главное в у меня правильный путь и имя правильные получаются

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

А вобще ИНТЕРЕСУЕТ - копирование файла с переименованием в одной папке. Остановился на filecopy, т.к. в двух книжках примеры приведены с разными именами файла (исх. и кон.).

П.С. /Спасибо, простите за тупые вопросы...но опять судьба посадила за ВБ
Artur KakTus

Artur KakTus
Обычный пользователь
Обычный пользователь
 
Сообщения: 51
Зарегистрирован: 19.02.2004 (Чт) 12:00
Откуда: Ukraine

Сообщение Artur KakTus » 13.09.2005 (Вт) 20:01

Попробывал

filecopy "С:\1.txt", "C:\2.txt"

все получается!!, НО ПОЧЕМУ тогда не получается с рабочей книхой :(
как я понимаю синтаксис может быть :

filecopy fg, gh

где fg, gh - строковые переменные....

млин не засну
Artur KakTus

K.Sergey
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 115
Зарегистрирован: 11.10.2004 (Пн) 0:42
Откуда: Санкт-Петербург

Сообщение K.Sergey » 13.09.2005 (Вт) 20:03

FileCopy не может скопировать открытую книгу. Судя по d = thisworkbook.path, у тебя именно в этом проблема.
Life is what happens to us when we are planning to do something else...

K.Sergey
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 115
Зарегистрирован: 11.10.2004 (Пн) 0:42
Откуда: Санкт-Петербург

Сообщение K.Sergey » 13.09.2005 (Вт) 20:05

Точнее не только книгу, а любой открытый файл:
If you try to use the FileCopy statement on a currently open file, an error occurs (из справки).
Life is what happens to us when we are planning to do something else...

Artur KakTus
Обычный пользователь
Обычный пользователь
 
Сообщения: 51
Зарегистрирован: 19.02.2004 (Чт) 12:00
Откуда: Ukraine

Сообщение Artur KakTus » 13.09.2005 (Вт) 22:48

2K.Sergey, спасибо камрад :D :D :D

Я так и понял, запостил на форуме и попробывал с другими книгами - все ОК. Мне, в принципе и надо было не открытую книгу копировать, просто пробывал на открытой.

Жалко, что нельзя открытые книги копировать, т.к. по идее это не редактирование и операция должна происходить успешно. (взять тотже проводник винды :())

В принципе топик исчерпан... Еще раз спасибо.
Artur KakTus

K.Sergey
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 115
Зарегистрирован: 11.10.2004 (Пн) 0:42
Откуда: Санкт-Петербург

Сообщение K.Sergey » 13.09.2005 (Вт) 22:56

Меня по этому же поводу WinRar бесит - постоянно ругается, что не может добавить файл в архив, т.к. он открыт. И ICQ не может передавать открытый файл. Полный отстой...
Life is what happens to us when we are planning to do something else...

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 14.09.2005 (Ср) 7:54

K.Sergey писал(а):Меня по этому же поводу WinRar бесит - постоянно ругается, что не может добавить файл в архив, т.к. он открыт. И ICQ не может передавать открытый файл. Полный отстой...

Советую не беситься, а почитать про ключик -dh.
Lasciate ogni speranza, voi ch'entrate.

Ig
Обычный пользователь
Обычный пользователь
 
Сообщения: 73
Зарегистрирован: 30.04.2005 (Сб) 12:37
Откуда: Far East

Сообщение Ig » 16.09.2005 (Пт) 6:38

Либо я че-то непоняв, либо одно из двух.
:?: Как это:
...нельзя открытые книги копировать...
:shock:
Код: Выделить всё

Private Sub WrkbCopy()
Dim objFlDlg As Object
Dim strFlNm As String

Set objFlDlg = Application.FileDialog(msoFileDialogSaveAs)
strFlNm = "It is Me"
With objFlDlg
.AllowMultiSelect = False
.Title = "Выберите папку для сохранения"
.FilterIndex = 1
.InitialFileName = strFlNm
If .Show = -1 Then
  strFlNm = .SelectedItems(1)
  ActiveWorkbook.SaveCopyAs strFlNm
End If
End With
End Sub


Сия процедура вызывает диалоговое окно сохранения файла и сохраняет его копию в выбранном Вами месте.

P.S. Кстати, у форума (и не только этого) есть замечательная фича специяльно для новичков. :wink:
Советую попробовать, бо многим помогает. :wink:
"Нормальные герои всегда идут в обход..."

Al Khamid
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 274
Зарегистрирован: 11.02.2004 (Ср) 10:00
Откуда: Москва, Ховрино

Сообщение Al Khamid » 16.09.2005 (Пт) 11:04

"""
Последний раз редактировалось Al Khamid 02.12.2007 (Вс) 13:56, всего редактировалось 1 раз.

K.Sergey
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 115
Зарегистрирован: 11.10.2004 (Пн) 0:42
Откуда: Санкт-Петербург

Сообщение K.Sergey » 16.09.2005 (Пт) 17:26

Ig писал(а):Либо я че-то непоняв, либо одно из двух.
.......
Сия процедура вызывает диалоговое окно сохранения файла и сохраняет его копию в выбранном Вами месте.

P.S. Кстати, у форума (и не только этого) есть замечательная фича специяльно для новичков. :wink:
Советую попробовать, бо многим помогает. :wink:


А я советую вначале в суть вопроса вникнуть, а не острить предложениями в хэлп лезть, т.к. ты действительно "че-то непоняв".
Вопрос НЕ стоял в том как сохранить открытую книгу под другим именем (это тривиально - записывается с помощью макроса), а почему FileCopy отказывается работать в данном конкретном случае. Проблему, как можно видеть выше, уже выяснили и тема исчерпана.
Life is what happens to us when we are planning to do something else...

Ig
Обычный пользователь
Обычный пользователь
 
Сообщения: 73
Зарегистрирован: 30.04.2005 (Сб) 12:37
Откуда: Far East

Сообщение Ig » 17.09.2005 (Сб) 12:48

Досточтимый сударь, вообще-то Вы - не автор вопроса.
И, если я его (автора) действительно оскорбил, то, повертьте, в случае предъявления претензий с его стороны, меня не поломает перед ним извиниться.

Кроме того, для подобного рода перепалок существует другой форум ("Народный треп" 8) :wink: :P ) или, на худой конец, "личка". И я только потому отвечаю Вам здесь, что дело касается третьей стороны.

За сим, данный вопрос действительно считаю исчерпанным.

С уважением. Игорь
"Нормальные герои всегда идут в обход..."


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 85

    TopList