Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: срипт и runtime
 
 автор: Дядя Федор   (17.06.2011 в 09:58)   личное сообщение
 
 

ЕСТЬ ТАКОЕ(копировать и запустить базу)


DIM AccessShell, strPathToAccess, strCurrentPath, WshShell, strSecurity
Const OverwriteExisting = TRUE

Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.CopyFile "Турникет2011.mdb" , "C:\BASE\Turniket.mdb" , OverwriteExisting
If Err.Number Then
WScript.Echo "Ошибка копирования."
End if

Set AccessShell = CreateObject("Access.Application")
strAccessVersion = AccessShell.SysCmd(7)
Select Case strAccessVersion
Case "11.0"
strSecurity = "HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Access\security\Level"
Case "12.0"
strSecurity = "HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Access\Security\VBAWarnings"
End Select
Set WshShell = CreateObject("WScript.Shell")
' Понижаем безопасность
If WshShell.RegRead(strSecurity) <> 1 Then
WshShell.RegWrite strSecurity, 1, "REG_DWORD"
End If
strPathToAccess = AccessShell.sysCmd(9) & "MSACCESS.EXE "
'WScript.Echo strPathToAccess
strCurrentPath ="C:\BASE\Turniket.mdb"
'WScript.Echo strCurrentPath
Set WshShell = CreateObject("WScript.Shell")
Set AccessShell = WshShell.Exec(strPathToAccess & """" & strCurrentPath)



все замечательно, если установлен нормальный аксес.
но если установлен runtime не запускается на выполнения.
выдает ошибку типа не могу создать процесс.

Кто знает - что это м.б.?

  Ответить  
 
 автор: час   (17.06.2011 в 10:28)   личное сообщение
 
 

Наверное - вот тута причина
strSecurity = "HKEY_CURRENT_USER\Software\Microsoft\Office\12.0\Access\Security\VBAWarnings"
Да и тута тоже
strPathToAccess = AccessShell.sysCmd(9) & "MSACCESS.EXE "

надо видимо - добавить
Select Case strAccessVersion

Case " Runtime"

  Ответить  
 
 автор: Дядя Федор   (17.06.2011 в 11:16)   личное сообщение
 
 

щас попробую
неа.

ПЕРЕФОРМУЛИРУЮ ВОПРОС
как понизить безопасность аксес рантайм?

закрываю вопрос
Просто при установке рантайма не образуется strSecurity = "HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Access\security\Level"

создаем его и меняем скрипт

DIM AccessShell, strPathToAccess, strCurrentPath, WshShell, strSecurity,WshFldrs

Const OverwriteExisting = TRUE

'путь к мои документы

    Set WshShell = WScript.CreateObject("Wscript.Shell")
    ' Создаем объект WshSpecialFolders
    Set WshFldrs = WshShell.SpecialFolders
    strCurrentPath=WshFldrs("MyDocuments")


Set objFSO = CreateObject("Scripting.FileSystemObject")
'WScript.Echo "1 - " & strCurrentPath & " Турникет2011.mdb"

objFSO.CopyFile "F:\Отчеты\TURNIKET\Base\Турникет2011.mdb" ,strCurrentPath & "\" & "Turhiket.mdb"  , OverwriteExisting

If Err.Number Then
WScript.Echo "Ошибка копирования."
else
'WScript.Echo "Успех"
Err.Clear
End if

'Set AccessShell = CreateObject("Access.Application")
'strAccessVersion = AccessShell.SysCmd(7)
strSecurity = "HKEY_CURRENT_USER\Software\Microsoft\Office\11.0\Access\security\level"
Set WshShell = CreateObject("WScript.Shell")
' Понижаем безопасность
If WshShell.RegRead(strSecurity) <> 1 Then
    WshShell.RegWrite strSecurity, 1, "REG_DWORD"
End If
'strPathToAccess =  AccessShell.sysCmd(9)  & "MSACCESS.EXE "
'WScript.Echo strPathToAccess
strCurrentPath =strCurrentPath & "\" & "Turhiket.mdb"
'WScript.Echo strCurrentPath
'Set WshShell = CreateObject("WScript.Shell")
'Set AccessShell = WshShell.Exec(strPathToAccess & """" & strCurrentPath)

' Создаем объект WshShell
'Set WshShell = WScript.CreateObject("WScript.Shell")

'WScript.echo strPathToAccess & """" &  strCurrentPath
'WScript.echo "MSACCESS.EXE " & """" &  strCurrentPath
'Return = WshShell.Run(strPathToAccess  & " """ &  strCurrentPath & """", 1, true)
Return = WshShell.Run("MSACCESS.EXE " & """" &  strCurrentPath & """", 1, true)


ВСЕМ СПАСИБО!

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList