Модераторы: Akina

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Подскажите как скопировать файл, Файл выбран в Вордовском окне ,,Open,, 
:(
    Опции темы
glotik
Дата 1.9.2006, 08:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 31.8.2006

Репутация: нет
Всего: нет



Код

Sub OpenWordFile()
Const iTitle = "Открытие окна"
Dim fName As String
Dim lRetVal As Long
Dim fPath As String
Dim strMyFullPath As String
Dim sName
 With Application.Dialogs(wdDialogFileOpen)
lRetVal = .Display
fName = .Name
End With
strMyFullPath = Options.DefaultFilePath(wdCurrentFolderPath)
MsgBox "Path = " & strMyFullPath
MsgBox strMyFullPath
Copy = strMyFullPath
MkDir Copy
End Sub

Подскажите пожалуйста как скопировать выбранный файл в каталог ,,Сopy,,????
PM MAIL   Вверх
ИгнатьевАлексей
Дата 2.9.2006, 19:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 369
Регистрация: 18.11.2005

Репутация: нет
Всего: 3



Что ты хотел сделать в своей процедуре, дорогой друг, понять мозгов мне не хватило! Лови семплик по методу Copy.
Код

Sub DDDdd()

Dim fs As FileSystemObject
Set fs = New FileSystemObject

fs.CopyFile "C:\TEST.doc", "C:\TEST2.doc"

End Sub

Надо только подключить библиотеку Microsoft Scripting Runtime Library.


--------------------
Vingrad - FOREVER !!! 

"Как вы яхту назовете - так она и поплывет!" 
 Капитан Врунгель 
PM MAIL   Вверх
cardinal
Дата 3.9.2006, 00:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99



Или воспользоваться FSO
http://www.rusedu.info/modules.php?op=modl...cle&sid=116
или функцией Name (чтобы передвинуть файл и/или например переименовать файл)
Код

Option Explicit

Private Sub Command1_Click()
Dim OldName, NewName
OldName = "c:\text.txt": NewName = "e:\text.txt"   ' Define file names.
Name OldName As NewName   ' Rename file.
End Sub




--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
mihanik
Дата 3.9.2006, 11:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 11
Всего: 109



Ребята!!!

Я ему уже ТУТ всё объяснил с примерами, с коментариями...
glotik просто разбираться не хочет... smile 

Ну сами посудите! Реально разобраться в таком примере? smile 

Код

Private Sub CommandButton1_Click()
Dim strFolder1, strFolder2 As String
Dim strFileName1, strFileName2 As String
Dim MyFSO As Object

    ' Открываем диалог открытия файла
    With Application.FileDialog(msoFileDialogFilePicker)
        .Title = "Выберите файл!"
            .Show
        ' Если что-то выбрали, то strFileName1 будет хранить
        ' ПОЛНОЕ ИМЯ ФАЙЛА (включая диск и каталоги)
        If .SelectedItems.Count > 0 Then strFileName1 = .SelectedItems(1)
    End With
    
    If Len(strFileName1) = 0 Then
        MsgBox "Не указано имя файла!", vbCritical, "Ошибка"
        Exit Sub
    End If
    
    ' Получаем только путь, по которому хранится файл
    strFolder1 = Options.DefaultFilePath(wdCurrentFolderPath)
    
    ' Собираем из имеющихся данных имя второго каталога,
    ' где будут храниться копии файлов.
    strFolder2 = strFolder1 + "\Copy"
    
    ' Если каталога с именем strFolder2 нет, то создаём его...
    ' В противном случае машина отругает нас и скажет, что произошла ошибка доступа к каталогу...
    If Len(Dir(strFolder2)) <> 0 Then MkDir strFolder2
    
    ' Вычисляем имя архивного файла...
    strFileName2 = strFolder2 + "\Копия " + Mid(strFileName1, InStrRev(strFileName1, "\") + 1, Len(strFileName1) - InStrRev(strFileName1, "\") + 1)
    
    'Копируем файл strFileName1 в strFileName2
    Set MyFSO = CreateObject("Scripting.FileSystemObject")
    MyFSO.CopyFile strFileName1, strFileName2

End Sub



Это сообщение отредактировал(а) mihanik - 3.9.2006, 11:07


--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
ИгнатьевАлексей
Дата 3.9.2006, 14:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 369
Регистрация: 18.11.2005

Репутация: нет
Всего: 3



Цитата

glotik просто разбираться не хочет... 

Тем хуже для него самого, не так ли?! smile 


--------------------
Vingrad - FOREVER !!! 

"Как вы яхту назовете - так она и поплывет!" 
 Капитан Врунгель 
PM MAIL   Вверх
cardinal
Дата 3.9.2006, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99



Модератор: glotik, ну и что ты на это скажешь? Мозгами шевелить лень?



--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
glotik
Дата 4.9.2006, 07:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 31.8.2006

Репутация: нет
Всего: нет



Цитата(cardinal @  3.9.2006,  18:19 Найти цитируемый пост)
Модератор: glotik, ну и что ты на это скажешь? Мозгами шевелить лень?

Очень даже не лень...я уже в течении 3 недель этим занимаюсь...просто у меня не все получается...я многого не понимаю......а хочу понимать..
Не знаю что вы на меня накинулись...неужели вам всем в начале легко было?????
PM MAIL   Вверх
mihanik
Дата 4.9.2006, 07:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 11
Всего: 109



glotik, но тебе же уже и ссылки на материалы дали, и примеры написали...

Надо только сесть и разобраться!!!
Ну, действительно, многое из того, что тебе было предложено, написано по-английски.
Так это - издержки програмистской профессии.
Так исторически сложилось, что разработчики большинства систем программирования за границей находятся.
Соответственно и пишут не по-нашему, а по-заморски.
Английский язык - официальный язык подобного рода документов...

И ещё...
Может, ты взялся сразу за слишком сложную для себя задачу?
Попробуй порешать что-нибудь попроще...

Или я не прав?



--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
ИгнатьевАлексей
Дата 4.9.2006, 07:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 369
Регистрация: 18.11.2005

Репутация: нет
Всего: 3



Цитата

просто у меня не все получается...я многого не понимаю......а хочу понимать..

Давай фрагменты своего кода в котором не получается, только подробно пиши, что ты хочешь сделать, что применяешь, и в каком месте не выходит. Думаю, так будет целесообразнее!



--------------------
Vingrad - FOREVER !!! 

"Как вы яхту назовете - так она и поплывет!" 
 Капитан Врунгель 
PM MAIL   Вверх
mihanik
Дата 4.9.2006, 08:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 11
Всего: 109



Цитата(ИгнатьевАлексей @  4.9.2006,  07:57 Найти цитируемый пост)
Думаю, так будет целесообразнее!


Поддерживаю!!!
 smile  smile 


--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
glotik
Дата 4.9.2006, 08:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 31.8.2006

Репутация: нет
Всего: нет



Цитата(mihanik @ 4.9.2006,  07:37)
И ещё...
Может, ты взялся сразу за слишком сложную для себя задачу?
Попробуй порешать что-нибудь попроще...

Или я не прав?


Я уже делал попроще... Просто мне дают задание - и мне нужно его сделать...выбора нет (у меня испытательный срок на работе)

Добавлено @ 08:31 
Ну вот к примеру фрагмент кода:
Код

 strFileName2 = strFolder2 + "\Копия  + Mid(strFileName1, InStrRev(strFileName1, " \ ") + 1, Len(strFileName1) - InStrRev(strFileName1, " \ ") + 1)"

здесь идет переименование файла по типу : ,,Копия,, <пробел> <имя файла> . <расширение>
Так как программу делал не я...мне здесь многие функции не понятны...
А мне надо переименовать по типу: <имя файла> - <текущая дата> . <расширение> 


PM MAIL   Вверх
mihanik
Дата 4.9.2006, 08:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 11
Всего: 109



Функция Mid
Позволяет получать подстроку из строки

Формат
Mid ( Исходная строка,  начало подстроки, длина фрагмента).

Пример
mid ( "коверкот", 6, 3) даёт нам "кот"
mid ( "коверкот", 1, 5) даёт нам "ковер"

Функция Len
Возвращает длину символьной строки в знаках.

Len ("Мама") даёт нам 4...

Функция InStr
Возвращает положение подстроки в строке (число). (Ищет слева на право позицию расположения одной строки внутри другой.)

Пример
InStr("Мама", "а") даст нам 2
InStr("Тутанхамон", "а") даст нам 4

Функция InStrRev
Делает то же самое, что и InStr.
Только ищет не слева направо, а справа налево.




Это сообщение отредактировал(а) mihanik - 4.9.2006, 08:47


--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
glotik
Дата 4.9.2006, 08:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 31.8.2006

Репутация: нет
Всего: нет



это я знаю...но мне ведь не надо извлекать подстроку и строки...

PM MAIL   Вверх
mihanik
Дата 4.9.2006, 08:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 11
Всего: 109



Цитата(glotik @  4.9.2006,  08:43 Найти цитируемый пост)
...но мне ведь не надо извлекать подстроку и строки...


Это НЕВЕРНО!!!

Представь!
У тебя есть полнгое имя файла. Что-то типа

C:\Program Files\Internet Explorer\IEXPLORE.EXE

Из этой строки тебе надо ВЫДЕЛИТЬ ПОДСТРОКУ, которая располагается за крайним справа знаком "\".
По другому. тебе надо из полного имени файла выделить только имя файла. А именно : IEXPLORE.EXE

Т.е. Тебе надо использовать функцию MID

Mid(strFileName1, InStrRev(strFileName1, " \ ") + 1, Len(strFileName1) - InStrRev(strFileName1, " \ ") + 1)"

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

Цитата(glotik @  4.9.2006,  08:25 Найти цитируемый пост)
<имя файла> - <текущая дата> . <расширение> 



Это сообщение отредактировал(а) mihanik - 4.9.2006, 08:54


--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
glotik
Дата 4.9.2006, 09:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 31.8.2006

Репутация: нет
Всего: нет



понимаешь..я до этого делал функции, которые как раз выделяют из полного имени файла либо имя файла, либо расширение...то есть я могу воспользоваться этими функциями..
вот конкретно в этом примере можно просто заменить параметры переименовывание на те, которые мне нужно???
Код

strFileName2 = strFolder2 + "\Копия  + Mid(strFileName1, InStrRev(strFileName1, " \ ") + 1, Len(strFileName1) - InStrRev(strFileName1, " \ ") + 1)"

PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.1032 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.