powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Corel & Dim & VB
11 сообщений из 11, страница 1 из 1
Corel & Dim & VB
    #35338656
ssv22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый всем день!
Вопрос такой:
как средствами VB "вытащить" параметры предварительно выбранного размера Corela: тип р-ра и главное само значение(число) , (мне главное число, ну и тип не помешает), чтобы потом можно было проводить с ним матем. операции. Никак не получается!

Сам-то я пишу на VB к SolidWorks`y и Оффису(word, эксел).
А тут прямо ну никак :-(
Было-бы ненеплохо, если-бы VB сам сканировал лист Corela, выбирал размеры и далее.
Если не к размерам, то хотя-бы к другим примитивам. Но тут нужно, чтобы определялся тип примитива.

Сам-то Corel вроде я научился подключать, но тоже было-бы неплохо узнать мнение специалистов (я имею ввиду саму инициализацию: открыть лист CORELa и тд.).
Какие-нибудь спецбиблиотеки нужно подлючать в парметрах самого VB?

Заранее благодарен!
...
Рейтинг: 0 / 0
Corel & Dim & VB
    #35339322
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: ssv22
> Добрый всем день!
> Вопрос такой:
> как средствами VB "вытащить" параметры предварительно выбранного
> размера Corela: тип р-ра и главное само значение(число) , (мне главное
> число, ну и тип не помешает), чтобы потом можно было проводить с ним
> матем. операции. Никак не получается!

Не совсем понял, какие такие параметры предварительно выбранного размера?

>
> Сам-то я пишу на VB к SolidWorks`y и Оффису(word, эксел).
> А тут прямо ну никак :-(
> Было-бы ненеплохо, если-бы VB сам сканировал лист Corela, выбирал
> размеры и далее.

Выбирал размеры и далее чего?

на каждем Page есть коллекция Shapes которая содержит информацию о каждом
объекте на странице

> Если не к размерам, то хотя-бы к другим примитивам. Но тут нужно,
> чтобы определялся тип примитива.

В Corel открой редактор VBA и там напиши Shape и на ней F1 и по ней почитай
справку и посмотри примеры. Еще в папке куда устанавливался Corel есть 2
pdf-файла с объектной моделью Corel Draw и Corel Photo-Paint найди их и
по-изучай :)

>
> Сам-то Corel вроде я научился подключать, но тоже было-бы неплохо
> узнать мнение специалистов (я имею ввиду саму инициализацию: открыть лист
> CORELa и тд.).

Какое мнение интересует?

> Какие-нибудь спецбиблиотеки нужно подлючать в парметрах самого VB?
В Referens нужно найти в списке запись о Corel Draw и поставить возле неё
птичку. После чего переменные можно будет объявлять сразу целевого типа

>
> Заранее благодарен!

Да пока не за что ;)

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Corel & Dim & VB
    #35339921
ssv22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot Игорь Горбонос]
> Автор: ssv22
>

[quot Игорь Горбонос]
> как средствами VB "вытащить" параметры предварительно выбранного
> размера Corela: тип р-ра и главное само значение(число) , (мне главное
> число, ну и тип не помешает), чтобы потом можно было проводить с ним
> матем. операции. Никак не получается!

>Не совсем понял, какие такие параметры предварительно выбранного размера?
параметры: - горизонтальный, вертикальный наклонный,
префикс, суффикс и само число(значение) рамера - больше ничего мне не надо
Вообще-то главное число, остальное я сам сделаю.

Я просто еще не разобрался с механизмом выбора объектов в Corele, а работа "горит" :-)

Сам-то я пишу на VB к SolidWorks`y и Оффису(word, эксел).
А тут прямо ну никак :-(
Было-бы ненеплохо, если-бы VB сам сканировал лист Corela, выбирал
размеры и далее.

>Выбирал размеры и далее чего?

Далее я их "обрабатываю", хотя-бы в Эксель пересылаю... или умножаю на число 2 или 3...

>на каждем Page есть коллекция Shapes которая содержит информацию о каждом
>объекте на странице

Дык вот, мне-бы примерчик кода выбора хотя-бы любого примитива.
В VBА в SolidWorks`e как-то попонятнее все, а тут ...

>В Corel открой редактор VBA и там напиши Shape и на ней F1 и по ней почитай
>справку и посмотри примеры. Еще в папке куда устанавливался Corel есть 2
>pdf-файла с объектной моделью Corel Draw и Corel Photo-Paint найди их и
>по-изучай :)

Открывал, изучал, мнение - безобразно сделанно. Вы не видели help по API к Solid`y!
Объекты, методы, события, параметры, пример - все ясно, а тут так все "наворочено" ...

> Сам-то Corel вроде я научился подключать, но тоже было-бы неплохо
> узнать мнение специалистов (я имею ввиду саму инициализацию: открыть лист
> CORELa и тд.).

>Какое мнение интересует?

Вот пока что накропал: (отрисовка эллипса и др? это в МИ не VBA) результат - "Cdraw1.exe"

'--------------------
Dim cDraw As CorelDRAW.Application
Dim curDoc As Document

Set cDraw = CreateObject("CorelDRAW.Application.12")
cDraw.Visible = True
Set curDoc = cDraw.ActiveDocument
'--------------------

indL = 1
On Error Resume Next

indL = indL + 1
NameNewLayer = "SSVprobe" & Val(indL)

curDoc.ActivePage.CreateLayer NameNewLayer

Dim sh As CorelDRAW.Shape
Dim shS As CorelDRAW.Shape
Dim shS1 As CorelDRAW.Shape

ActiveDocument.BeginCommandGroup "CreateCurveEllipse"
Set sh = ActiveLayer.CreateEllipse(0, 1, 1, 0, , , False)
sh.ConvertToCurves
sh.BorderColor = 125
sh.AlignToPageCenter cdrAlignHCenter, cdrTextAlignBoundingBox
ActiveDocument.EndCommandGroup

ActiveLayer.CreateArtisticText 0, 0, "Hello!"

Set shS = ActiveDocument.Selection
Set shS1 = ActiveDocument.SelectionInfo
rr = shS.Shapes.Count
If rr = 0 Then
MsgBox "No Object Selected"
Exit Sub
Else
MsgBox Str(rr) + " objects selected!"
End If
ActiveDocument.ClearSelection 'OK!
End Sub

Тут, конечно, много лишнего...

Думаю объекты другого типа создаются по такому-жк методу, а меня интеремует выбор существующих: как они выбираются -или их надо предварительно "мышкой" замаркировать

Вот меня интересует:
первая часть правильная - инициализиця Corela (это где отчеркнуто знаками "-----")
потом там создаие текста, эллипса м др.
Но это на пустом листе!

А мне нужно открыть определенные файл Corela и выбрать там все размеры(их значения).
Вот с этим никак не могу разобраться :-(
Поэтому мне хотелось бы пример кода выбора, если не размера, то хотя-бы другого УЖЕ существующего объекта(ов).
Я вот не пойму: у примитива Corela есть ли какой-либо идентификатор.

В SolidWorks`e при создании объекта, ему присваевается уникальный идентификатор и я могу с ним оперировать...

Но сейчас дело проще: открыть НЕпустой файл Corela и выбрать там хоть бы один размер.
Дальше я уж я сам...
...
Рейтинг: 0 / 0
Corel & Dim & VB
    #35339936
ssv22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot ssv22][quot Игорь Горбонос]
> Автор: ssv22
>

Что-то у меня какие-проблемы с отправкой сообщения было.
Или размер сообщения на форуме ограничен?
...
Рейтинг: 0 / 0
Corel & Dim & VB
    #35340774
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: ssv22
> >Не совсем понял, какие такие параметры предварительно выбранного
> размера?
> параметры: - горизонтальный, вертикальный наклонный,
> префикс, суффикс и само число(значение) рамера - больше ничего мне не
> надо
> Вообще-то главное число, остальное я сам сделаю.

Опять ничего не понял :( там две координаты, Top и Left. Плюс у объекта есть
Width и Height. никаких параметров там нет. Что тебе нужно считать?
>
> Я просто еще не разобрался с механизмом выбора объектов в Corele, а
> работа "горит" :-)

Код: plaintext
1.
2.
3.
Dim sh as Shape
For Each sh In ActiveDocument.Shapes
    Debug.Print sh.Top, sh.Left
Next sh

> Было-бы ненеплохо, если-бы VB сам сканировал лист Corela, выбирал
> размеры и далее.
>
> >Выбирал размеры и далее чего?
>
> Далее я их "обрабатываю", хотя-бы в Эксель пересылаю... или умножаю
> на число 2 или 3...
Цикл выше перебирает все объекты страницы и печатает координаты левого
верхнего угла
Можно и в ексел перегнать, не проблема. Только я спрашивал о конечной цели
этого сканирования и обработки.
>
> >на каждем Page есть коллекция Shapes которая содержит информацию о
> каждом
> >объекте на странице
>
> Дык вот, мне-бы примерчик кода выбора хотя-бы любого примитива.

см. выше

> В VBА в SolidWorks`e как-то попонятнее все, а тут ...
>
> >В Corel открой редактор VBA и там напиши Shape и на ней F1 и по ней
> почитай
> >справку и посмотри примеры. Еще в папке куда устанавливался Corel
> есть 2
> >pdf-файла с объектной моделью Corel Draw и Corel Photo-Paint найди
> их и
> >по-изучай :)
>
> Открывал, изучал, мнение - безобразно сделанно. Вы не видели help по
> API к Solid`y!

Не видел, ничего сказать не могу. НО после офиса довольно легко освоил
корел, основная заковыка была в перестройке мышления на другую объектную
модель. Хотя аналогии провести можно, не нужно забывать что это не офис :)

> Объекты, методы, события, параметры, пример - все ясно, а тут так все
> "наворочено" ...

:D Это для первого взгляда так кажется, потом будет период, когда хочется
бится головой об стенку от недостатка информации в хелпе, а потом начинаешь
понимать и просто делаешь что нужно :)

>
> > Сам-то Corel вроде я научился подключать, но тоже было-бы неплохо
> > узнать мнение специалистов (я имею ввиду саму инициализацию:
> открыть лист
> > CORELa и тд.).
>
> >Какое мнение интересует?
>
> Вот пока что накропал: (отрисовка эллипса и др? это в МИ не VBA)
> результат - "Cdraw1.exe"
>
> '--------------------
> Dim cDraw As CorelDRAW.Application
> Dim curDoc As Document
>
> Set cDraw = CreateObject("CorelDRAW.Application.12")
> cDraw.Visible = True
Можно или не показывать, если предполагается большое количество изменений
делать на странице, или использовать свойство, не помню как называется, в
Екселе аналог ScreenUpdating

> Set curDoc = cDraw.ActiveDocument
Если нужно открыть существующий тогда код будет таким:
Set curDoc = cDraw.Documents.Open sPathToFile

> '--------------------
>
> indL = 1
> On Error Resume Next
>
.......
> ActiveDocument.ClearSelection 'OK!
> End Sub
>
> Тут, конечно, много лишнего...
>
> Думаю объекты другого типа создаются по такому-жк методу, а меня
> интеремует выбор существующих: как они выбираются -или их надо
> предварительно "мышкой" замаркировать
>
> Вот меня интересует:
> первая часть правильная - инициализиця Corela (это где отчеркнуто
> знаками "-----")
> потом там создаие текста, эллипса м др.
> Но это на пустом листе!
>
> А мне нужно открыть определенные файл Corela и выбрать там все
> размеры(их значения).
> Вот с этим никак не могу разобраться :-(

Ну примерно можно сделать так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Dim cDraw As CorelDRAW.Application
Dim curDoc As CorelDRAW.Document
Dim p As CorelDRAW.Page
Dim sh as CorelDRAW.Shape
dim sPathToFile As String
sPathToFile = "c:\Test.cdr"
Set cDraw = CreateObject("CorelDRAW.Application.12")
Set curDoc = cDraw.Documents.Open sPathToFile
For Each p In curDoc.Pages
    For Each sh In curDoc.Shapes
        With sh
            Debug.Print .Top, .Left, .Width, .Height
    Next sh
Next p
cDraw.Visible = True
Set sh = Nothing
Set p = Nothing
Set curDoc = Nothing
Set cDraw = Nothing


> Поэтому мне хотелось бы пример кода выбора, если не размера, то
> хотя-бы другого УЖЕ существующего объекта(ов).
> Я вот не пойму: у примитива Corela есть ли какой-либо идентификатор.
Есть, но испоьзовать его проблемно, т.к. зависит от того в какой коллекции
ищешь :) поэтому не ищи такой идентификатор
>
> В SolidWorks`e при создании объекта, ему присваевается уникальный
> идентификатор и я могу с ним оперировать...

:)

>
> Но сейчас дело проще: открыть НЕпустой файл Corela и выбрать там хоть
> бы один размер.
> Дальше я уж я сам...

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

Удачи

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Corel & Dim & VB
    #35341060
ssv22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
>Все же если ты опишешь что ты хочешь получить по итогу, возможно и помощь будет >плодотворнее

>>Вообще-то главное число, остальное я сам сделаю.

>Опять ничего не понял :( там две координаты, Top и Left. Плюс у объекта есть
>Width и Height. никаких параметров там нет. Что тебе нужно считать?

Ну что-же тут непонятного:
когда я сам проставляю размер в Corele - первая точка, вторая точка, положение размерного текста. Итого ТРИ точки! Далее Corel сам проставляет размерный текст. Вот он-то мне и нужен. Еще точка положения размерного текста. Уже Четыре точки.

А если еще взять параметры текста - шрифт, высота... Да тут "куча" параметров! И это для одного объекта "Размер".

Потом, когда я ведь просто мышкой открываю тулбар Размеров - там же есть четыре! типа размеров: опять же горизонтальный, вертикальный, наклонный, авто и еще что-то. Вот эти типы в VBA никак не определяются? По-моему должен быть какой-то параметр или флаг, отвечающий за это дело...

Вот, для начала, мне хоть-бы размерный текст вытащить. Если это строка, я надеюсь, ее можно будет преобразовать в численный формат.
Дело в том, что дальнейшая оперция (математическая) зависит от ориентации размера.
Ну допустим если это горизонтальный р-р, то р/текст остается без изменений, если наклонный - р/текст умножается на некоторое число.
В будущем, я вижу, вообще передать определенным образом эти данные в SolidWorks и он сам построит нормальную 3D-модель/деталь.

Вот, например в SolidWorks когда пишешь программу вызываешь оператор SelectByName, в котором указываешь что выбирать: ребра, грани, просто линии и тд.

Вот мне и нужно выбрать все размеры на чертеже и обработать их определенным образом.
Каким? Зависит от того какой размер: горизонтальный, вертикальный и тд.
...
Рейтинг: 0 / 0
Corel & Dim & VB
    #35341181
ssv22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот пример и SolidWorks`a на VB:
(описание этого метода см. в конце стр.)

'Get Number of Selected Objects Example (VB) - получение кол-ва выбранных объектов.
'This example shows how to select multiple objects in an open drawing document. The number of 'selected objects is returned.
'----------------------------------------

Option Explicit
Dim swApp As SldWorks.SldWorks
Dim swModel As SldWorks.ModelDoc2
Dim boolstatus As Boolean

Sub main()
Set swApp = Application.SldWorks
Set swModel = swApp.ActiveDoc
swModel.ClearSelection2 (True)

boolstatus = swModel.Extension.SelectByID2("", "EDGE", 0.1861367966102, 0.1932487966102, 0.01709984201392, True, 0, Nothing, swSelectOptionDefault)
''' выбор всех "ребер" всех объектов (надеюсь понятно что такое "ребро" допустим кубика)

boolstatus = swModel.Extension.SelectByID2("", "VERTEX", 0.1253188644068, 0.1488978135558, -499.8908514945, True, 0, Nothing, swSelectOptionDefault)
''' выбор всех "вершин" всех объектов

boolstatus = swModel.Extension.SelectByID2("Section Line1", "SECTIONLINE", 0.05527944067797, 0.1034490338983, 0, True, 0, Nothing, swSelectOptionDefault)
''' выбор всех линий разрезов
ну и тд.
Dim numsel As Long

Dim i As Long

Dim objs() As Object

numsel = swModel.SelectionManager.GetSelectedObjectCount

ReDim objs(numsel - 1)

For i = 0 To numsel - 1

Set objs(i) = swModel.SelectionManager.GetSelectedObject5(i + 1)

Next i


Dim seldata As SldWorks.SelectData
Set seldata = Nothing

' Select multiple objects

boolstatus = swModel.Extension.MultiSelect(objs, False, seldata)

numsel = 0

' Return the number of objects selected -число выбранных объектов
numsel = swModel.SelectionManager.GetSelectedObjectCount

End Sub

'----------------------------------
'----------------------------------
'----------------------------------

А вот описание этого метода: (для VB, есть еще и для Си)

ModelDocExtension::SelectByID2

Description
This method selects the specified entity.


Syntax (OLE Automation)

retval = ModelDocExtension.SelectByID2 ( Name, Type , X, Y, Z, Append, Mark, Callout, SelectOption )

Input:
(BSTR) Name
Name of object to select or an empty string

Input:
(BSTR) Type
- вот самое главное - тип объекта, что будет выбираться: вершина, линия...
Type of object (uppercase) as defined in swSelectType_e or an empty string
Они переписаны в переменной "swSelectType_e". Но я уж ее приводить не буду - там слишком много!

Input:
(double) X
X selection location or 0

Input:
(double) Y
Y selection location or 0

Input:
(double) Z
Z selection location or 0

Input:
(VARIANT_BOOL) Append
If...
And if entity is...
Then...

TRUE
Not already selected


The entity is appended to the current selection list

Already selected
The entity is removed from the current selection list

FALSE
Not already selected
The current selection list is cleared, and then the entity is put on the list

Already selected
The current selection list remains the same

Input:
(long) Mark
Value that you want to use as a mark; this value is used by other functions that require ordered selection

Input:
(LPCALLOUT) Callout
Pointer to the associated callout

Input:
(long) SelectOption
Selection option as defined in swSelectOption_e (see Remarks)

Output:
(VARIANT_BOOL) retval
TRUE if item was successfully selected, FALSE if not
...
Рейтинг: 0 / 0
Corel & Dim & VB
    #35341199
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: ssv22
> >Все же если ты опишешь что ты хочешь получить по итогу, возможно и
> помощь будет >плодотворнее
>
> >>Вообще-то главное число, остальное я сам сделаю.
>
> >Опять ничего не понял :( там две координаты, Top и Left. Плюс у
> объекта есть
> >Width и Height. никаких параметров там нет. Что тебе нужно считать?
>
> Ну что-же тут непонятного:
> когда я сам проставляю размер в Corele - первая точка, вторая точка,
> положение размерного текста. Итого ТРИ точки! Далее Corel сам проставляет
> размерный текст. Вот он-то мне и нужен. Еще точка положения размерного
> текста. Уже Четыре точки.

Вот здесь я не совсем понял, ты случаем не AutoCAD имееш в виду???
Объект(Shape) в корел имеет четыре параметра определяющие прямоугольник
расположения на листе. В зависимости от типа(геом. фигура, текст)
объекта(Shape) можно получить дополнительные параметры. В том числе для
шрифта, похожая объектная модель и в офисе, но по размеру шрифта, по моему,
напрямую нельзя получить размер надписи :)
>
> А если еще взять параметры текста - шрифт, высота... Да тут "куча"
> параметров! И это для одного объекта "Размер".

Нет такого объекта
>
> Потом, когда я ведь просто мышкой открываю тулбар Размеров - там же
> есть четыре! типа размеров: опять же горизонтальный, вертикальный,
> наклонный, авто и еще что-то. Вот эти типы в VBA никак не определяются?
> По-моему должен быть какой-то параметр или флаг, отвечающий за это дело...

Вот здесь не смотрел, посмотрю, но у меня возможность посмотреть в 11
кореле, а они отличаются немного :(

>
> Вот, для начала, мне хоть-бы размерный текст вытащить. Если это
> строка, я надеюсь, ее можно будет преобразовать в численный формат.
> Дело в том, что дальнейшая оперция (математическая) зависит от
> ориентации размера.
> Ну допустим если это горизонтальный р-р, то р/текст остается без
> изменений, если наклонный - р/текст умножается на некоторое число.
> В будущем, я вижу, вообще передать определенным образом эти данные в
> SolidWorks и он сам построит нормальную 3D-модель/деталь.

Так бы сразу и сказал, что хочешь получить из чертежа 3D модель, может лучше
в АвтоКАД? Там были серьёзные построители этого дела ещё лет 5 назад, а за
это время я думаю продвинулось ещё дальше

>
> Вот, например в SolidWorks когда пишешь программу вызываешь оператор
> SelectByName, в котором указываешь что выбирать: ребра, грани, просто
> линии и тд.

CorelDRAW это программа создания и обработки векторных ИЗОБРАЖЕНИЙ . И
она совсем не приспособленна для создания чертежей, поэтому у тебя возникли
такие сложности

>
> Вот мне и нужно выбрать все размеры на чертеже и обработать их
> определенным образом.

Если не сложно и не коммерческая тайна, сбрось мне примерный файлик на мыло
из профиля, с пожеланиями какую информацию нужно достать. Только сохрани для
11 версии .

> Каким? Зависит от того какой размер: горизонтальный, вертикальный и
> тд.

Ну это теперь понятно :)

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Corel & Dim & VB
    #35341339
ssv22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
>CorelDRAW это программа создания и обработки векторных ИЗОБРАЖЕНИЙ. И
>она совсем не приспособленна для создания чертежей, поэтому у тебя возникли
>такие сложности

ВСЕ объекты чертежа SolidWorks`a самыми являются векторными!


>> А если еще взять параметры текста - шрифт, высота... Да тут "куча"
>> параметров! И это для одного объекта "Размер".

>Нет такого объекта
А что же это "такое" тогда, как он описывается?

"Вручную" ты же можешь установить высоту текста, наклон...???
Почему-же нельзя средствами API ?

В SW, почти все, что можно сделать вручную - можно и сделать средствами API - и детали и сборки и чертежи создавать и на VB и на Си и Delphi.

Я делал проект на VB, который создавал около 50 3-х мерных деталей, потом сборки, потом чертежи и с этих чертежей считал параметры развертки деталей, которые подвергались гибке и выдавал список на заказ в цех.
Причем с разными размерами!
Корче, дверь в квартиру метал-ю представляешь? Вот приезжает замерщик от клиента и все время с разными размерами. Так вот - что-бы выдать в цех на изготовление чертежи деталей уходила неделя!
Моя прога все это делает за 3-5 минут - 30-40 чертежей и в цех.
Почуствуйте разницу :-)
А в данном случае мне дают сканированные чертежи (JPG) и надо их перегнать в SW и выдать чертежи, как обычно, в кратчайшие сроки.

Мне уже надоело когда начальство все время висит над душой "когда","когда"...

Ну а программироанние у меня хобби такое, и главное себе работу облегчаю - время немного освободилось - можно какую-нибудь прогу интересную поизучать :-) - это у меня второе хобби.
Вот такие пироги :-)
А ты чем занимаешься? Если не секрект.


PS. пардон если с ошибками пишу...все некогда.
...
Рейтинг: 0 / 0
Corel & Dim & VB
    #35355134
ssv22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Еще раз обращаюсь!
Кое-что поизучал по "Corel & Dim & VB", вот что получается:
'----------------------------------------------------
Public cDraw As CorelDRAW.Application
Public curDoc As CorelDRAW.Document
Public p As CorelDRAW.Page
Public sh As CorelDRAW.Shape
Public sPathToFile As String

Public Wnd As CorelDRAW.Window
Public colType As cdrColorType
Public csh As CorelDRAW.Color
Public shd As CorelDRAW.Dimension
Public shd1 As CorelDRAW.Dimension
Public s As CorelDRAW.TextLines
Public rr1 As CorelDRAW.Text
'----------------------------------------------------
Public Sub redim1()

Set cDraw = CreateObject("CorelDRAW.Application")
cDraw.Visible = True
Set curDoc = cDraw.ActiveDocument ' .Documents.Application.ActiveDocument '.Open sPathToFile

Set sh = CorelDRAW.ActiveShape
Set shd = CorelDRAW.ActiveShape.Dimension

sfx = shd.Suffix <<----------- вот "вытаскиваю" Suffix размерного текста, он сейчас пустой
shd.Suffix = " = 123" <<----------- назначаю новый суффикс размерного текста
В результате текст размера изменяется(его суффикс) !

shd.TextShape.Copy 'OK! - проба, копирование размерного текста в буффер обмена - получается.
Т.е. "вытащить" его можно, а вот как его "вытащить" в переменную - еще не разобрался :-(

End Sub
...
Рейтинг: 0 / 0
Corel & Dim & VB
    #35355978
ssv22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
На "VBStreets" мне помогли решить эту задачу:

Public cDraw As CorelDRAW.Application
Public curDoc As CorelDRAW.Document
Public p As CorelDRAW.Page
Public sh As CorelDRAW.Shape
Public sPathToFile As String
Public Wnd As CorelDRAW.Window
Public colType As cdrColorType
'colType = CorelDRAW.ActiveShape.Outline.Color.Type
Public csh As CorelDRAW.Color
Public shd As CorelDRAW.Dimension
Public shd1 As CorelDRAW.Dimension
Public s As CorelDRAW.TextLines
Public rr1 As CorelDRAW.Text
'---------
Public Sub redim1()

sPathToFile = "C:\Work\Corel and VB\Test1 VB.cdr"
Set cDraw = CreateObject("CorelDRAW.Application")
cDraw.Visible = True
Set curDoc = cDraw.ActiveDocument
Set shd = CorelDRAW.ActiveShape.Dimension

MsgBox "Размер = " + shd.TextShape.Text.Contents 'OK!
tt = shd.TextShape.Text.Contents
tt2 = Val(tt) * 2
MsgBox "Размер New = " + Str(tt2)
End Sub

Оказалось Волшебное слово "Contents", только в справке я его не нашел :-(
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Corel & Dim & VB
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]