2015-11-10 1 views
1

Я работаю над Visio 2013 для проекта, и я новичок в VBA и Visio.Извлечь тексте от мастеров

Во-первых, я написал функцию, которая импортирует файл CSV в текущем документе VISIO путем создания первой таблицы строки texte в CSV, а затем добавить его в форме:

Dim sp As Visio.Shape 
Set sp = ActiveDocument.Pages(1).Drop(Visio.ActiveDocument.Masters("Puce 120"), 4, 10) 
sp.Characters.Text = texte 

Теперь я хочу написать обратная функция, от формы до CSV-файла, но я не могу найти способ получить доступ к тексту в моей форме «Puce 120».

Я написал:

Dim vsoMasters As Visio.Masters 
Dim intMasterCount As Integer 
Dim intCounter As Integer 
Dim vsoMaster As Visio.Master 

Set vsoMasters = ActiveDocument.Masters  
intMasterCount = vsoMasters.Count 

If intMasterCount > 0 Then 
    For intCounter = 1 To intMasterCount 
     If vsoMasters.Item(intCounter).Name = "Puce 120" Then 
      Set vsoMaster = vsoMasters.Item(intCounter) 
     End If 
    Next intCounter 
Else 
    Debug.Print " No masters in document" 
End If 

Dim shap As Visio.Shapes 
Set shap = vsoMaster.Shapes 

Dim ch As Visio.Characters 
ch = shap.Characters 

Но я не нахожу мой текст в ch. Может ли кто-нибудь объяснить мне, как его получить?

ответ

0

Вы можете разместить текст формы с помощью свойства shape.Text. Есть ли причина для всех других причудливых вещей? То есть, вы можете установить текст формы, как это:

shape.Text = "Hello" 

И получить его обратно, как это:

myText = shape.Text 
+0

Спасибо за ваш ответ! Я должен поместить свой текст в «Puce 120» Master, потому что это инструкция, которую я имею. Моя проблема в том, чтобы получить его от этого Учителя на самом деле. Вторая функция, которую я пишу, не зависит от первой, поэтому сначала я должен найти свой мастер Puce 120 на странице, а затем извлечь текст. Но я не нахожу его, когда искал свойства Учителя. Я нахожу Свойство «Формы», но я не нахожу текст, который я написал внутри Учителя, juste «Text = Puce 120» – user3314570

+0

Вы не найдете его, потому что он не существует в мастер; вы помещаете свой текст в форму (не в мастер) с помощью первого фрагмента кода. Что вы на самом деле хотите сделать (т. Е. Базовая идея?) «Shape» в Visio относится к «Master», поскольку «Object» (экземпляр) относится к классу (типу) на языке программирования. – Nikolay

+0

Идея состоит в том, что первая функция будет импортировать CSV-файл в форму Puce 120, а вторая функция сделает обратную вещь. Из формы Puce 120 извлекаем текст и записываем его в файл csv. Но 2 функции не выполняются последовательно, поэтому я не могу передать форму в параметре. Я сделал это словом, но у меня проблемы с visio. – user3314570