Страница: 1 | 2 | 
		
		 
			   
			 
			 
			 
			 
			
 
  
		
     
  
    
Вопрос: Получение данных без открытия файла
     
    
Добавлено: 06.06.06 10:14
     
      
  
				
			  
					 
			
				 
    
		
       
    
Автор вопроса:  
    
 APS | ICQ: 234458121 
      
       
  
Существует некоторое количество похожих файлов. Необходимо собрать данные из этих файлов в один общий файл. Т.е. необходимо в итоговом файле сделать кнопочку, при нажатии на которую выводился бы диалог выбора файла, после этого данные бы из выбранного файла попадали в активную книгу.
 
    
В общем, мне примерно понятно как это сделать, но не знаю с какой стороны подойти к тому, чтобы файл не открывался, а просто бы выбирался, и данные из него переносились в активную книгу.
				
		
		
					 
			
				 
  
		
     
  
    
Ответы
     
    
Всего ответов: 19
     
      
  
		
	  
			 
	
		 
    
       
    
Номер ответа: 1 
      
Автор ответа:
 Незнайка
![]()
![]()
Вопросов: 7
Ответов: 188
      
 Профиль |  | #1
       
Добавлено:  06.06.06 11:47
       
    
       
  
 
    
И зачем тебе писать что-то если ты прекрасно открываешь каждый файл и переносишь данные???
Короче диалоговое окно выбора файла тебе зачем???
А по сабж - читай форум - ответы есть и совсем недавно.
		
	  
			 
	
		 
    
       
    
Номер ответа: 2 
      
Автор ответа:
 APS
![]()
ICQ: 234458121 
Вопросов: 38
Ответов: 107
      
 Профиль |  | #2
       
Добавлено:  06.06.06 12:06
       
    
       
  
Мне примерно понятно как получить данные, не открывая файл. Но непонятно как указать имя файла, его не открывая.
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 3 
      
Автор ответа:
 Незнайка
![]()
![]()
Вопросов: 7
Ответов: 188
      
 Профиль |  | #3
       
Добавлено:  06.06.06 12:21
       
    
       
  
Опачки! А разве нужно открывать файл, чтоб узнать его имя????????????????????
 
    
Попробуй перебирать файлы в заданном каталоге:
http://www.vbnet.ru/forum/show.aspx?id=110918
		
	  
			 
	
		 
    
       
    
Номер ответа: 4 
      
Автор ответа:
 HOOLIGAN
![]()
Вопросов: 0
Ответов: 1066
      
 Профиль |  | #4
       
Добавлено:  06.06.06 12:21
       
    
       
  
Ты наверное путаешь открытие файла и диалог открытия файла.
 
    
Диалог открытия вообще ничего не открывает, просто возвращает имя файла, на который ткнул пользователь. Если нужно получить имена файлов без диалога открытия, то воспользуйся функцией Dir - она перечисляет файлы в папке.
		
	  
			 
	
		 
    
       
    
Номер ответа: 5 
      
Автор ответа:
 APS
![]()
ICQ: 234458121 
Вопросов: 38
Ответов: 107
      
 Профиль |  | #5
       
Добавлено:  06.06.06 12:39
       
    
       
  
Видать, что-то путаю.
 
    
Нужно именно вернуть имя файла + полный путь к нему, на который ткнул пользователь, после чего диалоговое окно закрыть.
Функция Dir не подходит, т.к. файл может быть в любом месте...
		
	  
			 
	
		 
    
       
    
Номер ответа: 6 
      
Автор ответа:
 Незнайка
![]()
![]()
Вопросов: 7
Ответов: 188
      
 Профиль |  | #6
       
Добавлено:  06.06.06 13:00
       
    
       
  
Ну тогда вот (для VBA):
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 7 
      
Автор ответа:
 APS
![]()
ICQ: 234458121 
Вопросов: 38
Ответов: 107
      
 Профиль |  | #7
       
Добавлено:  06.06.06 15:08
       
    
       
  
Супер! Спасибо! Начало положено!!!
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 8 
      
Автор ответа:
 APS
![]()
ICQ: 234458121 
Вопросов: 38
Ответов: 107
      
 Профиль |  | #8
       
Добавлено:  06.06.06 18:17
       
    
       
  
Че-то я совсем торможу.
 
    
        oFileName = Application.GetOpenFilename(Title:="Выберите файл для экспорта данных"
'Получаю имя необходимого файла
        oModels = Application.Workbooks(oFileName).Worksheets(1).Range("Models"
'Пытаюсь вытащить из именованной ячейки значение
Выдает ошибку: Subscript out of range (Error 9)
		
	  
			 
	
		 
    
       
    
Номер ответа: 9 
      
Автор ответа:
 APS
![]()
ICQ: 234458121 
Вопросов: 38
Ответов: 107
      
 Профиль |  | #9
       
Добавлено:  06.06.06 18:54
       
    
       
  
В общем, имя книги известно. Как получить значение определенной ячейки, не открывая книгу.
 
    
Что-то простое чувствую, но найти не могу...
		
	  
			 
	
		 
    
       
    
Номер ответа: 10 
      
Автор ответа:
 Незнайка
![]()
![]()
Вопросов: 7
Ответов: 188
      
 Профиль |  | #10
       
Добавлено:  06.06.06 20:05
       
    
       
  
http://j-walk.com/ss/excel/tips/tip82.htm
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 11 
      
Автор ответа:
 APS
![]()
ICQ: 234458121 
Вопросов: 38
Ответов: 107
      
 Профиль |  | #11
       
Добавлено:  07.06.06 14:17
       
    
       
  
Особый респект Незнайке. Все работает.
 
    
К сожалению, не открывая файл, получить данные можно только, если файл в формате Excel.
Из текстового файла это попросту невозможно. Если не так, поправьте меня!
И еще вопрос: реально ли получить данные в Excel из тела письма Outlook, не сохраняя это письмо отдельным файлом?
		
	  
			 
	
		 
    
       
    
Номер ответа: 12 
      
Автор ответа:
 Незнайка
![]()
![]()
Вопросов: 7
Ответов: 188
      
 Профиль |  | #12
       
Добавлено:  07.06.06 22:28
       
    
       
  
 
    
		
	  
			 
	
		 
    
       
    
Номер ответа: 13 
      
Автор ответа:
 APS
![]()
ICQ: 234458121 
Вопросов: 38
Ответов: 107
      
 Профиль |  | #13
       
Добавлено:  08.06.06 10:15
       
    
       
  
И опять респект Незнайке.
 
    
Сожалеть не нужно - с текстовыми еще проще:
http://www.vbzero.narod.ru/chapter1/page_7.htm
Но тут описано не для VBA, а для VB, хотя все и похоже. А файл опять же открывается...
Конечно можно, для начала изучи это (и другие примеры там же - поможет):
http://www.microsoft.ru/offext/developers/advices/advice.aspx?id=48 
Весьма полезная вещичка. Теперь надо понять, как сделать, чтобы при приходе нового письма с определенными реквизитами данные из него автоматом попадали в определенный файл Excel.
Еще раз спасибо за помощь в изучении VBA.
		
	  
			 
	
		 
    
       
    
Номер ответа: 14 
      
Автор ответа:
 Незнайка
![]()
![]()
Вопросов: 7
Ответов: 188
      
 Профиль |  | #14
       
Добавлено:  08.06.06 10:43
       
    
       
  
 
    
Типа порядка действий:
Пишешь в аутлуке при событии получения нового письма создаешь экземпляр Excelя, дальше берешь из тела письма все что хочешь и распихиваешь по файлам.
Если есть конкретная задача - опиши - посоветуем.
		
	  
			 
	
		 
    
       
    
Номер ответа: 15 
      
Автор ответа:
 APS
![]()
ICQ: 234458121 
Вопросов: 38
Ответов: 107
      
 Профиль |  | #15
       
Добавлено:  08.06.06 11:46
       
    
       
  
На сайте заполняется анкета, после этого в теле письма приходят данные.
 
    
Тема письма всегда одна и та же.
В теле письма по строкам название поля, введенные данные.
Нужны вот эти данные автоматом запихивать в Excel в ячейки, соответствующие названию поля.