Страницы: 1
RSS
Передача данных из Excel в Excel по сети
 
Доброго времени суток, форумчанины! Вопрос мой заключается вот в чем: есть сеть, необходимо передавать данные из одного файла-excel данные по сети в другой excel. Выделил несколько возможных способов:  
1) с помощью ADODB  
2) с помощью связей    
 
кое-что читал про общий доступ к книге(пока не знаю относится это к делу или нет). С вариантом 2 я не уверен, так как на практике не пробывал впринципе, как и с первым вариантом. Подскажите пожалуйста каким путем мне лучше пойти или есть другие более удобные варианты? И смогу ли я в режиме реального времени отслеживать изменения на excel-файле, который будет принимать данные?
 
У этих методов есть большой недостаток, данные появляются только если пользователь сохранил изменения в файле.  
 
Использование общего доступа    
Когда второй пользователь вносит данные, он может случайно внести данные в заполненную ячейку, не зная об этом, конечно, можно сохранять только ранее введенные данные, но тогда последние изменения в этой ячейке будут утеряны. Особенно это затрудняет работу (сохранение после внесения данных), когда файл имеет много расчетных формул. На работе делал файл общего доступа для более, чем 20 пользователей, причем такой файл пускает на сохранение данных только по одному пользователю, в противном случае пишет, что файл занят другим пользователем. Около 5 менеджеров вносило заказы, остальные вносили данные о выполнении заказа по участкам. Использование Excel в этом случае было связано с необходимсоть проводить много расчетов в файле. В итоге файл был постоянно занят и никто не мог сохраниться, приходилось клацать пока файл пустит для сохранения изменений.  
Решил этот вопрос с помощью применения пользовательской формы для ввода данных, базы данных в Access. При запуске формы считывал последннюю строку из базы данных и записывал новую.  
 
Резюме  
Лучше сразу использовать Access. В этом случае данные появляются сразу после внесения, нет задержек при сохранении, а расчеты производить в Excel посредствам запроса к данным.
 
сейчас попробовал связать два эксель-файла через связь по сети:  
 
скопировал диапазон в одном и через специальную вставку вставил в другом, первоначальные данные установились, но на втором файле откуда копировался диапазон ячеек есть макрос, который генерирует числа в этот диапазон, которые необходимо отправлять в другой эксель-файл на другом компьютере (хочу отметить, что в этом файле у меня тоже должен выполнятся макрос), но обновления данных не происходит (обновление я установил автоматически). Может я что-то делаю не так?
 
еще реализовал такой способо:  
 
========================================================  
  Dim conn As New ADODB.Connection  
  conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\\MAINCOMP\Exel\ADO_work.xlsm;Extended Properties=Excel 12.0;"  
       
   
   Dim rs As New ADODB.Recordset  
   rs.CursorType = adOpenKeyset  
   rs.LockType = adLockOptimistic  
   rs.Open "MyTable", conn  
 
   testNum = Rnd * 100  
   Cells(1, 1) = testNum  
   rs.Fields(0) = testNum  
   rs.Update  
========================================================  
 
данные передаются в отличии от метода с связыванием таблиц, но я не вижу изменений в режими on-line, но закрыв файл и открыв его снова я вижу изменения. в каком направлении двигаться дальше?
 
Посмотрите в сторону DDE, погуглите network dde.
 
palo jedox
Спасибо
Страницы: 1
Читают тему
Наверх