Lotus + Excel

Тема в разделе "Lotus - Программирование", создана пользователем Mitya, 5 ноя 2012.

  1. Mitya

    Mitya Well-Known Member

    Регистрация:
    13 июн 2012
    Сообщения:
    111
    Симпатии:
    0
    Гуру, добрый день.

    Пытаюсь найти решение вопроса на форму - не получается.

    Хочу определить, открыт ли Excel-ий файл в момент открытия его через OLE
    Кусок кода:
    Код (Text):
            filepath = "с:\111.xls"
    xlFilename = filepath
    Print "Путь к файлу: " + filepath
    Print "Подключние к Excel..."
    Set Excel = createobject("Excel.Application")
    Excel.visible = False
    Print "Открытие " & xlFilename & "..."
    Excel.Workbooks.Open (xlFilename)
    .....
    .....  
    Set xlWorkbook = Excel.ActiveWorkbook
    Set xlSheet = xlworkbook.Worksheets(1)
    Заранее спасибо.
     
  2. RAJ

    RAJ Well-Known Member

    Регистрация:
    17 янв 2007
    Сообщения:
    440
    Симпатии:
    0
    попробуй что-то в этом роде
    Код (Text):
    Function IsExcelRunning(AppLink As Variant) As Boolean

    On Error Goto final
    Set AppLink=GetObject(,"Excel.Application")
    IsExcelRunning=True
    Exit Function

    final:
    IsExcelRunning=False
    Exit Function
    End Function
     
  3. beloff

    beloff Well-Known Member

    Регистрация:
    24 июл 2012
    Сообщения:
    103
    Симпатии:
    0
    решение проще - в диспетчере задач посмотри есть ли среди процессов эксель или Excel.visible = False поменяй на True
     
  4. Mitya

    Mitya Well-Known Member

    Регистрация:
    13 июн 2012
    Сообщения:
    111
    Симпатии:
    0
    :( не, не то что я хочу.

    я программно хочу определить, открыт ли кто файл "с:\111.xls". И дальше скрипт не выполняется - выводится сообщение "Файл занят"
     
  5. Anatoly

    Anatoly Well-Known Member

    Регистрация:
    30 мар 2007
    Сообщения:
    204
    Симпатии:
    0
    EXCEL сам предупредит.
     
  6. Mitya

    Mitya Well-Known Member

    Регистрация:
    13 июн 2012
    Сообщения:
    111
    Симпатии:
    0
    :( Excel предупреждает, только тогда, когда я сохранить пытаюсь файл

    А я хочу, чтобы он в момент открытия файла предупредил.
    Вот, что есть на данный момент:
    Код (Text):
    Sub Initialize
    Dim ws As New NotesUIWorkspace
    Dim uidoc As NotesUIDocument
    Dim doc As NotesDocument
    Set uidoc = ws.Currentdocument
    Set doc = uidoc.Document   

    Dim xlFilename As String
    Dim filepath As Variant
    Dim Row As Integer

    Dim Excel As Variant
    Dim xlWorkbook As Variant
    Dim xlSheet As Variant

    filepath = "С:111.xls"
    xlFilename = filepath
    Print "Путь к файлу: " + filepath
    Print "Подключние к Excel..."
    Set Excel = createobject("Excel.Application")
    Excel.visible = False
    Print "Открытие " & xlFilename & "..."
    Excel.Workbooks.Open (xlFilename)  
    Set xlWorkbook = Excel.ActiveWorkbook  
    Set xlSheet = xlworkbook.Worksheets(1) 
    row =2000  
    Do While True
    With xlSheet
    .....
    GoTo Save
    ......         
    End With
    Loop
    Save:  
    Print "Отключение Excel..."
    xlWorkbook.Close True
    Excel.Quit
    Set Excel = Nothing        
    End Sub
     
  7. Mitya

    Mitya Well-Known Member

    Регистрация:
    13 июн 2012
    Сообщения:
    111
    Симпатии:
    0
    Нашел решение:
    Код (Text):
    If Excel.ActiveWorkbook.ReadOnly Then
    MsgBox "Файл занят",64,"Информаци"
    Excel.Quit
    Set Excel = Nothing    
    Exit Sub
    End If
    Тема закрыта.
     
Загрузка...

Поделиться этой страницей