Выпустив Visual Studio .NET компания Microsoft стала распространять MSDN в новой, более удобной и «продвинутой» оболочке, называемой Microsoft Document Explorer. К сожалению, Microsoft почему-то «забыла» предложить приемлемый способ использования новых редакций MSDN в старой доброй IDE от Visual C++ 6.0. Вместо этого в официальной документации декларируется попросту несовместимость новых версий MSDN с инструментальными средами старых версий. Необходимость же частого и оперативного использования подобной связки, возможно, возникла не только у автора этих строк. Но все ли так безнадежно? Публикуемый макрос призван частично ликвидировать вынужденные неудобства пользователей MS VC 6.0, заставив послужить ещё технологию COM на благо разработчиков, не торопящихся перейти к использованию последней версии Visual C++, но нуждающихся в самой свежей справочной информации.
ПРИМЕЧАНИЕ Все упомянутые торговые марки являются собственностью соответствующих владельцев. |
'-------------------------------------------------------------- 'Global variable for MSDN.NET window. dim HelpApp Sub RunMSDNdotNET() 'DESCRIPTION: Call external MSDN .NET Help! ' (C) 2002 Igor Solovyov (siv@bravoport.com.ua) ' v.1.2 Dim sel Dim LineNum Dim ColNum 'PrintToOutputWindow VarType(ActiveDocument) If VarType(ActiveDocument) = vbObject Then '9 Exit Sub End If sel = ActiveDocument.Selection.Text if ActiveDocument.Selection = "" Then LineNum = ActiveDocument.Selection.CurrentLine ColNum = ActiveDocument.Selection.CurrentColumn ActiveDocument.Selection.WordRight dsMove ActiveDocument.Selection.WordLeft dsExtend sel = ActiveDocument.Selection.Text ActiveDocument.Selection.MoveTo LineNum, ColNum End If sel = RTrim( LTrim( sel ) ) '--------------------------- 'ProgID = DExplore.AppObj 'TypeLib = {83285928-227C-11d3-B870-00C04F79F802} ' C:\Program Files\Common Files\Microsoft Shared\MSEnv\vshelp.tlb ' 'ms-help://MS.VSCC '--------------------------- if IsEmpty(HelpApp) Then Set HelpApp = CreateObject("DExplore.AppObj") End If 'Set the January 2002 Collection and "Visual C++ and Related" filter HelpApp.SetCollection "ms-help://MS.VSCC", "Visual C++ and Related" '"" - Collection w\o filtering. You can create your personal filter and insert it name here. 'HelpApp.SetCollection "ms-help://MS.VSCC", "" 'HelpApp.ConTents() HelpApp.Index() On Error Resume Next 'Trying to invoke context help on sel HelpApp.DisplayTopicFromKeyword( sel ) HelpApp.DisplayTopicFromF1Keyword( sel ) Dim wsh Set wsh = CreateObject("WScript.Shell") 'If your MSDN help window have different title you have to pick it here! wsh.AppActivate( "Visual Studio .NET Combined Collection" ) End Sub |