|
работает в VBA, но не работает в VBS
|
|||
---|---|---|---|
#18+
Прошу помощи разобраться с методом, который получил из записи макроса. Он работает в VBA, но не работает в VBS На третьей строке выдает ошибку: object doesn't support this property or method: "doc.comparedocuments" Set obj = CreateObject("Word.Application") Set doc = obj.Documents.Open("C:\fob\5.doc", , False, , , , , , , , , True) doc.CompareDocuments "C:\fob\2.doc", "C:\fob\3.doc", wdCompareDestinationNew , wdGranularityWordLevel, True, True, True, True, True, True, True, true, True, True, "user", False doc.SaveAs "C:\fob\4.docx" Set doc = Nothing obj.Quit Set obj = Nothing ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2012, 19:44 |
|
работает в VBA, но не работает в VBS
|
|||
---|---|---|---|
#18+
CompareDocuments работает в офисе 2010, видимо пытаетесь использовать на машине с более старой версией ворда ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2012, 19:50 |
|
работает в VBA, но не работает в VBS
|
|||
---|---|---|---|
#18+
Shocker.Pro, Стоит office2007, но в нем тоже это есть. Я же сперва делал пользовательским методом, записал макрос, где и была эта функция. Теперь пытаюсь использовать ее в vbs ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2012, 20:11 |
|
работает в VBA, но не работает в VBS
|
|||
---|---|---|---|
#18+
у меня нет 2007 и 2010 не могу посмотреть Но, судя по msdn - это метод Application, а не документа, применяйте его к obj ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2012, 20:22 |
|
работает в VBA, но не работает в VBS
|
|||
---|---|---|---|
#18+
Shocker.Pro, Поменял. Теперь ругается на type mismatch: obj.comparedocuments. Значит где-то с параметрами напутал? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2012, 20:57 |
|
работает в VBA, но не работает в VBS
|
|||
---|---|---|---|
#18+
DrunkWolfЗначит где-то с параметрами напутал?да ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2012, 21:02 |
|
работает в VBA, но не работает в VBS
|
|||
---|---|---|---|
#18+
DrunkWolfПрошу помощи разобраться с методом, который получил из записи макроса. Он работает в VBA, но не работает в VBS На третьей строке выдает ошибку: object doesn't support this property or method: "doc.comparedocuments" Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8.
именованные константы меняй на их значения зы и тегами пользуйся !! ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2012, 21:12 |
|
работает в VBA, но не работает в VBS
|
|||
---|---|---|---|
#18+
Shocker.Pro, Оставил только основные: obj.CompareDocuments "C:\fob\2.doc", "C:\fob\3.doc" Либо: set compare= obj.CompareDocuments("C:\fob\2.doc", "C:\fob\3.doc") Та же ошибка ( ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2012, 21:17 |
|
работает в VBA, но не работает в VBS
|
|||
---|---|---|---|
#18+
qwerty112, obj.CompareDocuments "C:\fob\2.doc", "C:\fob\3.doc", 2 , 1, True, True, True, True, True, True, True, true, True, True, "user", False Тоже самое.. type mismatch.. еще что-то упущено. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2012, 21:23 |
|
работает в VBA, но не работает в VBS
|
|||
---|---|---|---|
#18+
Судя по примерам, которые попались в инете, в 2007-м CompareDocuments принимает в качестве параметров не путь к документам, а объект - документ. Отсюда и ошибка. Их надо предварительно открыть ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2012, 21:27 |
|
работает в VBA, но не работает в VBS
|
|||
---|---|---|---|
#18+
Код: vbnet 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2012, 21:29 |
|
работает в VBA, но не работает в VBS
|
|||
---|---|---|---|
#18+
DrunkWolfqwerty112, obj.CompareDocuments "C:\fob\2.doc", "C:\fob\3.doc", 2 , 1, True, True, True, True, True, True, True, true, True, True, "user", False Тоже самое.. type mismatch.. еще что-то упущено. ты на полном серьёзе думаеш, что это (выделено) имеет тип данных "Document" ? Application.CompareDocuments Method (Word) Compares two documents and returns a Document object that represents the document that contains the differences between the two documents, marked using tracked changes. Syntax -------------------------------------------------------------------------------- expression.CompareDocuments(OriginalDocument, RevisedDocument, Destination, Granularity, CompareFormatting, CompareCaseChanges, CompareWhitespace, CompareTables, CompareHeaders, CompareFootnotes, CompareTextboxes, CompareFields, CompareComments, RevisedAuthor, IgnoreAllComparisonWarnings) expression An expression that returns an Application object. NameRequired/OptionalData TypeDescriptionOriginalDocumentRequiredDocumentSpecifies the path and file name of the original document.RevisedDocumentRequiredDocumentSpecifies the path and file name of the revised document to which to compare the original document.DestinationOptionalWdCompareDestination Specifies whether to create a new file or whether to mark the differences between the two documents in the original document or in the revised document. Default value is wdCompareDestinationNew.GranularityOptionalWdGranularity Specifies whether changes are tracked by character or by word. Default value is wdGranularityWordLevel.CompareFormattingOptionalBooleanSpecifies whether to mark differences in formatting between the two documents. Default value is True.CompareCaseChangesOptionalBooleanSpecifies whether to mark differences in case between the two documents. Default value is True.CompareWhitespaceOptionalBooleanSpecifies whether to mark differences in white space, such as paragraphs or spaces, between the two documents. Default value is True.CompareTablesOptionalBooleanSpecifies whether to compare the differences in data contained in tables between the two documents. Default value is True.CompareHeadersOptionalBooleanSpecifies whether to compare differences in headers and footers between the two documents. Default value is True.CompareFootnotesOptionalBooleanSpecifies whether to compare differences in footnotes and endnotes between the two documents. Default value is True.CompareTextboxesOptionalBooleanSpecifies whether to compare differences in the data contained within text boxes between the two documents. Default value is True.CompareFieldsOptionalBooleanSpecifies whether to compare differences in fields between the two documents. Default value is True.CompareCommentsOptionalBooleanSpecifies whether to compare differences in comments between the two documents. Default value is True.RevisedAuthorOptionalStringSpecifies the name of the person to whom to attribute changes when comparing the two documents.IgnoreAllComparisonWarningsOptionalBooleanSpecifies whether to ignore warnings when comparing the two documents. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2012, 21:30 |
|
работает в VBA, но не работает в VBS
|
|||
---|---|---|---|
#18+
qwerty112ы на полном серьёзе думаеш, что это (выделено) имеет тип данных "Document" ?DrunkWolfОн работает в VBA У автора работает видишь ли этот пример в VBA на не том объекте и не с теми параметрами ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2012, 21:33 |
|
работает в VBA, но не работает в VBS
|
|||
---|---|---|---|
#18+
qwerty112, Согласен, нелепая ошибка :-) Раньше не пользовался msdn, по незнанию, полезная штука..Спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2012, 21:42 |
|
работает в VBA, но не работает в VBS
|
|||
---|---|---|---|
#18+
Здравствуйте! У меня ровно такая же проблема. Нужно сравнивать документы в автоматическом режиме и я увидел что при создании макроса при этом пишется функция: Application.CompareDocuments и прекрасно работает, но ошибки при переводе в vbs такие-же как и описаны в данной теме. И как же решилась проблема в данной теме я не понял? Что в итоге сделать то нужно? Или без вариантов, только переустановка на Word 2010? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2019, 15:19 |
|
работает в VBA, но не работает в VBS
|
|||
---|---|---|---|
#18+
kosmonavtomно ошибки при переводе в vbs такие-же как и описаны в данной темеНу так и решения тут описаны. Давайте заново - код и тексты ошибок. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2019, 15:25 |
|
работает в VBA, но не работает в VBS
|
|||
---|---|---|---|
#18+
Исходный код из макросов Word 2007: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
Но оказалось, что он не работает, выдает ошибку: Код: powershell 1. 2.
Хотя записывался в том-же ворде и с теми-же файлами и файлы конечно же расположены как надо. Пробовал несколько раз. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2019, 16:20 |
|
работает в VBA, но не работает в VBS
|
|||
---|---|---|---|
#18+
Что касается переноса в VBS - выше уже говорили, что VBS не знает, что такое wdShowSourceDocumentsBoth и другие именованные константы ворда. Поэтому либо их нужно объявить и присвоить им те же значения, что и в ворде, либо просто заменить их на конкретные значения. kosmonavtomНо оказалось, что он не работает, выдает ошибку:в какой строке? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2019, 16:26 |
|
работает в VBA, но не работает в VBS
|
|||
---|---|---|---|
#18+
Shocker.Pro, в 7 строке ошибка. Вот это выделяет желтым цветом: Код: vbnet 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2019, 21:41 |
|
работает в VBA, но не работает в VBS
|
|||
---|---|---|---|
#18+
Значит один (или оба) из этих документов еще не открыт или имя неверное ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2019, 21:45 |
|
работает в VBA, но не работает в VBS
|
|||
---|---|---|---|
#18+
Shocker.Pro, Спасибо! Да действительно документы не были открыты. Откровенно говоря я и не подумал даже об этом, т.к. думал что запись макроса в Word подразумевает, что все и так сработает, раз адреса записаны! но ошибся :(( Начал переделывать в VBS с учетом своих ошибок и на Ваших примерах описанных Выше и таки все получилось и работает: Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9.
Еще раз спасибо! ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.01.2019, 22:50 |
|
|
start [/forum/topic.php?fid=60&msg=37810512&tid=2154961]: |
0ms |
get settings: |
12ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
38ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 281ms |
total: | 421ms |
0 / 0 |