Excel 2007 XML Source Maps – обновляющие схемы

У меня есть электронная таблица, которая сообщает о документах xml, сгенерированных приложением. Я использую функциональность, которая позволяет вам создавать формат электронной таблицы, перетаскивая элементы из области источника XML в ваш лист.

У меня нет схемы (на данный момент) – Excel просто выводит из предоставленного XML-документа.

Из-за изменения спецификации формат XML изменился – теперь есть несколько дополнительных элементов в нескольких местах.

Я не вижу, как заставить Excel обновлять поля, доступные в области источника XML (т. Е. В предполагаемой схеме) на основе обновленного документа XML. Похоже, мне нужно начинать с нуля с новой таблицы, если XML получает дополнительные поля.

Есть ли способ сделать это?

Я был в аналогичной ситуации, и в моем случае было проще начать с нуля, т. Е. Добавить каждое поле вручную. Прежде чем я это сделал, я посмотрел, как Excel управляет этими соединениями и поместил соответствующие (и я нахожу selfexplanitory) методы в следующем примере (в коде предполагается, что имеется таблица Tabelle1 с перечнем excel и двумя связанными с xml поданных в ячейки A1 и B1, и далее в схеме действителен XPath to / dataroot / Projekte / ID – это говорит, что измените, чтобы попробовать его).

Поэтому я предполагаю, что с помощью этих методов / функций вы должны иметь возможность

  • добавьте вторую (новую) схему, затем
  • зачитайте всю соответствующую информацию, как показано ниже, т.е. зачитайте XPath поля на старой схеме,
  • удалите старую ссылку XPath и
  • добавьте его снова для этой ячейки, используя новую схему.

НО я не пробовал это сам (потому что, как я сказал в моем примере, это было всего 9 полей / ячеек и 2 таблицы)

Sub mainExcelSchemaExamples() ' View Inferred (or explicitly inserted) Schema Dim myxmlmap As XmlMap Dim myXMLSchemaString As String Set myxmlmap = ActiveWorkbook.XmlMaps(1) myXMLSchemaString = ActiveWorkbook.XmlMaps(1).Schemas(1).XML Debug.Print myXMLSchemaString ' Show XPath Dim mySheet As Worksheet Set mySheet = ActiveWorkbook.Sheets("Tabelle1") ' From a List Debug.Print mySheet.ListObjects(1).ListColumns(2).XPath.Map, _ mySheet.ListObjects(1).ListColumns(2).XPath ' Single field Debug.Print mySheet.Range("A1").XPath.Map, mySheet.Range("A1").XPath Debug.Print mySheet.Range("B1").XPath.Map, mySheet.Range("B1").XPath ' Add XPath (and XML-Map) mySheet.Range("A2").XPath.SetValue Map:=myxmlmap, XPath:="/dataroot/Projekte/ID" End Sub 

Надеюсь, это поможет в качестве отправной точки.

С уважением Андреас

  • XLSX-файл в zip-файл
  • XML, XSD в Excel
  • добавление атрибута в теги xml перед экспортом файла из excel 2010 для использования с mantis
  • Использование Excel для экспорта одного XML-элемента, за которым следует один или несколько связанных элементов
  • У кого-нибудь есть XSD для XMLSS?
  • Как включить схему с xml
  • Экспорт Excel в XML
  • Импорт XML в Excel с повторяющимися элементами
  • Использование таблицы стилей для преобразования данных Excel в XML
  • Протоколы должны соответствовать исключению при загрузке большого файла (GWT)
  • XML-схема, определяющая преобразование
  • Interesting Posts

    Использование VBA в Excel в Google Search в IE и возврат гиперссылки первого результата

    Методы CircleInvalid и ClearCircle для конкретной ячейки в excel vba 2007

    Как импортировать значения excel в Selenium IDE

    Ошибка поиска последней использованной ячейки в VBA

    Если в таблице существуют два значения в одной строке

    Экспорт таблицы Excel в таблицы отношений MySQL

    Сравнение двух разных предложений, имеющих одинаковое значение в Excel

    Экспорт из MS Excel в MS Access с промежуточной обработкой

    Вычислить время выполнения вычислений Excel Spreadsheet?

    Элегантный метод для рисования почасовой гистограммы с данными временного интервала?

    VSTO Excel: как создать настраиваемое сопоставление столбцов с помощью ListObject?

    VB.Net: Форматирование фигур

    Невозможно передать COM-объект типа «Microsoft.Office.Interop.Excel.WorksheetClass»

    VBA Excel – строки удаленных прерываний для каждого цикла

    Не удается получить обратные вызовы Excel Custom Ribbon

    Давайте будем гением компьютера.