Тема: Отчёт в Word 2003 & 2007
На компьютере установлены 2003 и 2007 Оффисы.
Создаю отчёт и отправляю его в Ворд. Есть ли возможность Выбора, в какой из них отправить?
Информационный портал для профессионалов в области САПР
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Форумы CADUser → Программирование → VBA → Отчёт в Word 2003 & 2007
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
На компьютере установлены 2003 и 2007 Оффисы.
Создаю отчёт и отправляю его в Ворд. Есть ли возможность Выбора, в какой из них отправить?
> radan
Наверно по запросу условия:
If _условие№1 Then Set oWord = CreateObject("Word.Application.11") ElseIf _условие№2 Then Set oWord = CreateObject("Word.Application.12") Else Set oWord = CreateObject("Word.Application") End if
По памяти без проверок
~'J'~
> radan
Еще как-то юзают выбор через регистр, но я это
не знаю
~'J'~
Нашёл на C.
Reg_gc reg;
reg.SetFullPath();
String ver2003=reg.GetString("SOFTWARE\\Microsoft\\Office\\11.0\\Excel\\InstallRoot","Path",trLocal);
String ver2007=reg.GetString("SOFTWARE\\Microsoft\\Office\\12.0\\Excel\\InstallRoot","Path",trLocal);
ver2003+="EXCEL.EXE";
ver2007+="EXCEL.EXE";
bool b2003=FileExists(ver2003);
bool b2007=FileExists(ver2007);
String EXCELEXE="";
if(b2003) EXCELEXE=ver2003;
if(b2007) EXCELEXE=ver2007;
if(b2003 && b2007)
{
if (MessageDlg("Версия Microsoft Excel (2003 - Yes, 2007 - No)?", mtConfirmation, TMsgDlgButtons() << mbYes << mbNo, 0) == mrYes)
{
EXCELEXE=ver2003;
b2007=false;
}
else
{
EXCELEXE=ver2007;
b2003=false;
}
}
> radan
Спасибо, работает :
Imports System Imports System.IO Imports Microsoft.VisualBasic.FileSystem Module Module1 Sub Main() Dim response As MsgBoxResult Dim ver2000 As String = Microsoft.Win32.Registry.GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\10.0\Excel\InstallRoot", "Path", "") Dim ver2003 As String = Microsoft.Win32.Registry.GetValue("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\11.0\Excel\InstallRoot", "Path", "") ver2000 += "EXCEL.EXE" ver2003 += "EXCEL.EXE" Dim b2000 As Boolean = Microsoft.VisualBasic.FileIO.FileSystem.FileExists(ver2000) Dim b2003 As Boolean = Microsoft.VisualBasic.FileIO.FileSystem.FileExists(ver2003) Dim EXCELEXE As String = String.Empty If b2000 Then EXCELEXE = ver2000 If b2003 Then EXCELEXE = ver2003 If (b2000 And b2003) Then response = MsgBox("Версия Microsoft Excel (2000 — Yes, 2003 — No)?", MsgBoxStyle.YesNo, "Answer this question:") If response = MsgBoxResult.Yes Then ' User chose Yes. EXCELEXE = ver2000 ' Perform use Excel2000. b2003 = False Else EXCELEXE = ver2003 ' Perform use Excel2003. b2000 = False End If End If Console.WriteLine(ver2003 & vbNewLine & ver2000) Console.ReadLine() End Sub End Module
~'J'~
Страницы 1
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Форумы CADUser → Программирование → VBA → Отчёт в Word 2003 & 2007
Форум работает на PunBB, при поддержке Informer Technologies, Inc