Win32ole, метод для чтения URL из гиперссылки вместо текста?(Рубин, но не обязательно) - PullRequest
0 голосов
/ 16 декабря 2010

Я работаю с WIN32OLE для чтения некоторых файлов данных в различных состояниях беспорядка. Теперь я могу читать текст из большинства файлов, используя методы Sentences и Shapes, однако для файлов с гиперссылками я могу читать только текст гиперссылки, а не базовый URL.

Я копался в методах / ole_methods 'hyperlinks' и перепробовал многие, но ни один из них не раскрыл никаких свойств гиперссылки, кроме текста (соответственно, в некоторых случаях).

irb(main):084:0> doc.Sentences(4).hyperlinks.inspect
=> "#<WIN32OLE:0x2c233d0>"

irb(main):085:0> doc.Sentences(4).hyperlinks.text
=> "Hi I'm a link!"

Наиболее релевантные результаты Google связаны с добавлением ссылок в Excel с использованием тега «address», который не является методом гиперссылок. Другие ссылаются на «действие», которое также не является методом.

Ответы [ 2 ]

1 голос
/ 17 декабря 2010

Это работает для меня:

doc.Hyperlinks.each do |x|
  puts x.Address
end

РЕДАКТИРОВАТЬ: я получил это работать для извлечения ссылок из TextBoxes тоже.независимо от отображаемого текста.

1 голос
/ 17 декабря 2010

Объект HyperLinks представляет собой набор объектов HyperLink.

Каждый из них содержит свойство «Адрес», которое должно указывать на URL-адрес ссылки, и свойство «textToDisplay».

Я ничего не знаю о ruby ​​или win32ole lib, но вы можете получить доступ к объектам Гиперссылки в коллекции, возможно, так:

irb(main):084:0> doc.Sentences(4).hyperlinks(1).TextToDisplay

irb(main):084:0> doc.Sentences(4).hyperlinks(1).Address
...