Nano Hash - криптовалюты, майнинг, программирование

Как экспортировать данные Excel 2016 в другую таблицу с помощью VBA?

Я пытаюсь отправить нескольким пользователям электронную таблицу Excel, содержащую форму для сбора данных. Я хотел бы добавить свои входные данные в нижнюю строку общего файла. Есть ли способ, чтобы каждый из этих пользователей мог «отправить» свои входные данные, которые я собрал в виде таблицы, и экспортировать в отдельную электронную таблицу?

24.07.2016

  • Если у вас уже есть база данных Access И в конечном итоге вы хотите, чтобы данные вернулись в Access, я бы предложил создать форму во внешней базе данных Access со ссылками на вашу внутреннюю базу данных. Каждый пользователь будет использовать интерфейс для ввода данных. Нет необходимости покупать дополнительные лицензии MS-Access — они установят бесплатную версию от Microsoft. 24.07.2016
  • @dbmitch только что сэкономил вам недели времени на разработку и обслуживание :-). 24.07.2016
  • Спасибо @dbmitch. У меня еще нет базы данных Access. Все расчеты, необходимые для формы, находятся на скрытой вкладке листа Excel. Я использовал книгу для некоторого моделирования, и теперь нам нужно собрать данные за короткий период времени. Оглядываясь назад, было бы лучше создать базу данных в Excel. Тем не менее, есть ли способ создать макрос, который будет добавлять данные в конец таблицы в другой электронной таблице Excel? 25.07.2016
  • Я бы добавил вашу последнюю строку в ваш последний комментарий к вашему вопросу. И, может быть, даже в вашем названии. Два решения имеют очень разные ответы. 25.07.2016

Ответы:


1

Вы можете использовать следующие объекты для отправки электронной таблицы коллекции нескольким пользователям.

' Outlook variables
Dim oOlAp As Object, oOlns As Outlook.Namespace, oOlInb As Object, oOlInb1 As Object
Dim oOlItm As Object, oOlAtch As Object

' Get Outlook instance
Set oOlAp = GetObject(, "Outlook.application")
Set oOlns = oOlAp.GetNamespace("MAPI")

В этой электронной таблице используйте те же объекты, чтобы отправить вам таблицу ответов.

Затем в электронной таблице «загрузить», которая запускается на вашем компьютере, используйте те же самые объекты для извлечения всех указанных таблиц из электронных писем с ответами.

После этого вы можете использовать обычный интерфейс Excel для заполнения базы данных доступа.

24.07.2016
  • В этом предложении много недостающих частей. Это намного больше кода и координации, чем вы предлагаете. 25.07.2016
  • Что ж, я уже сделал лист, который будет: 1 искать в папке Outlook файлы xls, извлекать их, импортировать рабочий лист данных, а затем интегрировать данные в таблицу базы данных. Запись для доступа, вероятно, не сильно отличается от записи в любой другой обычный рабочий лист. В моем случае самой сложной частью было выяснить интерфейс Outlook, чтобы пользователю вообще не приходилось работать с файлами. 25.07.2016
  • Отлично - если вы можете поделиться чем-то большим, чем приведенный выше базовый стартовый код, это будет гораздо более полезный ответ. Поскольку у OP даже нет базы данных Access, я уверен, что ваше решение будет долгожданной альтернативой. 25.07.2016
  • В этом так много компонентов, что вопрос действительно должен быть разбит на составные части. Я не могу опубликовать свой файл, потому что он полон конфиденциальных данных. И это десятки страниц кода. Логика примерно такая: ищите почту во входной папке (вам нужно создать фильтр Outlook, чтобы разделить эти файлы, я думаю, можно читать каждую почту и искать вложение с правильным именем файла) распаковать файл (в мой случай они были заархивированы с паролем в теле текста) 26.07.2016
  • загрузите файл в excel, найдите строку, содержащую описание заголовка, определите, какой столбец содержит какую информацию (в моем случае это могло измениться, иногда столбцы перемещались, поэтому мне приходилось использовать instr (1, mycolumn, constColumnTag), чтобы определить, какой столбец был каким сейчас скопируйте каждую строку входного рабочего листа в выходной рабочий лист (тогда мне пришлось удалить дубликаты, или, скорее, не копировать повторяющиеся записи) Ему также нужно было бы сделать еще один excel Когда вы открываете его, он запрашивает у пользователей каждую часть информации, которая вам нужна . 26.07.2016
  • Есть так много способов сделать это, это может быть серия команд в поле ввода, пользовательская форма или просто запись на листе Sheet1. И вам нужна кнопка отправки, которая будет использовать объекты, которые я разместил ранее, чтобы использовать Outlook для сохранения и отправки файла excel обратно в почтовый ящик сборщика файлов. 26.07.2016
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

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

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

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

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..