Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Visual Basic Новый топик    Ответить
 закрыть экземпляр книги excel которая уже открыта  [new]
assei
Member

Откуда: Тамбов
Сообщений: 231
Ребята здравствуйте! подскажите пожалуйста у меня в проекте происходит проверка открытого файла так
If eOpen(App.Path & "\DOCM.xlsx") Then 
    If MsgBox("файл открыт", нажмите кнопку ок и файл закроется принудительно", _
        vbOKCancel + 48, "сообщение") = vbOK Then 

'а вот как ЗАКРЫТЬ его после нажатия кнопки "ок" не ведомо
End If
20 дек 18, 12:53    [21769401]     Ответить | Цитировать Сообщить модератору
 Re: закрыть экземпляр книги excel которая уже открыта  [new]
Akina
Member

Откуда: Зеленоград, Москва, Россия
Сообщений: 18431
Workbooks(App.Path & "\DOCM.xlsx").Close
?
20 дек 18, 16:20    [21769792]     Ответить | Цитировать Сообщить модератору
 Re: закрыть экземпляр книги excel которая уже открыта  [new]
assei
Member

Откуда: Тамбов
Сообщений: 231
Akina, а без сохранения изменений
20 дек 18, 17:25    [21769887]     Ответить | Цитировать Сообщить модератору
 Re: закрыть экземпляр книги excel которая уже открыта  [new]
assei
Member

Откуда: Тамбов
Сообщений: 231
Akina, дело в том что в проекте присутствует такая функция и она ругается
Sub Save() 
    If oBook.Saved = False Then 'ругается на строку
        oBook.Save
    End If
End Sub
20 дек 18, 17:34    [21769904]     Ответить | Цитировать Сообщить модератору
 Re: закрыть экземпляр книги excel которая уже открыта  [new]
assei
Member

Откуда: Тамбов
Сообщений: 231
Akina, попробовал так что то не получается
Sub CloseApplication()
Application.DisplayAlerts = False
Application.Quit
End Sub
20 дек 18, 17:53    [21769932]     Ответить | Цитировать Сообщить модератору
 Re: закрыть экземпляр книги excel которая уже открыта  [new]
by-pass
Member

Откуда: Зеленоград (Москва)
Сообщений: 538
assei,

Когда-то давно писалось, попробуйте.

Private appEx As Excel.Application


Public Function ...

    Set appEx = New Excel.Application
    appEx.Visible = False
    
    With appEx
        .Workbooks.Open sFileName
...
        .ActiveWorkbook.Save
        .ActiveWorkbook.Close
    End With
    appEx.Quit
20 дек 18, 18:10    [21769961]     Ответить | Цитировать Сообщить модератору
 Re: закрыть экземпляр книги excel которая уже открыта  [new]
Andy_OLAP
Member

Откуда: я знаю, что Хапоэль Беэр-Шева - чемпион
Сообщений: 3148
assei
Akina, а без сохранения изменений

Наверное, так - "oBook.Close savechanges:=False".
20 дек 18, 18:13    [21769966]     Ответить | Цитировать Сообщить модератору
 Re: закрыть экземпляр книги excel которая уже открыта  [new]
assei
Member

Откуда: Тамбов
Сообщений: 231
by-pass, да да вы правы, и до сих пор не могу для себя решить этот момент вопрос в уточнении состоит в том : если открыть в ручную файл xl, то при запуске проекта vb6 из проекта у меня не "хватат" познаний для того, что бы решить данный вопрос
что в моём понимании
1. открыт экземпляр файла который НЕ открыт средствами VB6
2. вопрос каким образом обратится к такому экземпляру и закрыть по имени файла

может что то я не правильно понимаю?
21 дек 18, 11:06    [21770299]     Ответить | Цитировать Сообщить модератору
 Re: закрыть экземпляр книги excel которая уже открыта  [new]
by-pass
Member

Откуда: Зеленоград (Москва)
Сообщений: 538
assei,

ИМХО:
Плохая практика закрывать то, что не Вами открыто. Можно потерять данные.
А так, по-видимому, только перебором открытых файлов.
Могу ошибаться, давно уже это было.
21 дек 18, 11:10    [21770302]     Ответить | Цитировать Сообщить модератору
 Re: закрыть экземпляр книги excel которая уже открыта  [new]
assei
Member

Откуда: Тамбов
Сообщений: 231
by-pass, ошибка вылазиет

К сообщению приложен файл. Размер - 34Kb
21 дек 18, 11:12    [21770306]     Ответить | Цитировать Сообщить модератору
 Re: закрыть экземпляр книги excel которая уже открыта  [new]
Serg197311
Member

Откуда:
Сообщений: 339
getobject(excell.application) попробуйте так....
21 дек 18, 11:27    [21770312]     Ответить | Цитировать Сообщить модератору
 Re: закрыть экземпляр книги excel которая уже открыта  [new]
Serg197311
Member

Откуда:
Сообщений: 339
одна l конечно - ошибся...
21 дек 18, 11:28    [21770315]     Ответить | Цитировать Сообщить модератору
 Re: закрыть экземпляр книги excel которая уже открыта  [new]
assei
Member

Откуда: Тамбов
Сообщений: 231
Serg197311, попробовал так с вариантом не получается

К сообщению приложен файл. Размер - 95Kb
21 дек 18, 11:39    [21770323]     Ответить | Цитировать Сообщить модератору
 Re: закрыть экземпляр книги excel которая уже открыта  [new]
assei
Member

Откуда: Тамбов
Сообщений: 231
Serg197311, ну я сразу убрал ошибка таже
21 дек 18, 11:42    [21770327]     Ответить | Цитировать Сообщить модератору
 Re: закрыть экземпляр книги excel которая уже открыта  [new]
Serg197311
Member

Откуда:
Сообщений: 339
Dim appex as object ??
21 дек 18, 11:58    [21770339]     Ответить | Цитировать Сообщить модератору
 Re: закрыть экземпляр книги excel которая уже открыта  [new]
by-pass
Member

Откуда: Зеленоград (Москва)
Сообщений: 538
assei,

VB у меня не установлен.
Опять таки, могу ошибаться, но вроде нужно подключить соответствующую библиотеку к проекту на VB.
21 дек 18, 11:59    [21770341]     Ответить | Цитировать Сообщить модератору
 Re: закрыть экземпляр книги excel которая уже открыта  [new]
assei
Member

Откуда: Тамбов
Сообщений: 231
Serg197311, полный пример

К сообщению приложен файл (закрытие.rar - 7Kb) cкачать
21 дек 18, 12:06    [21770351]     Ответить | Цитировать Сообщить модератору
 Re: закрыть экземпляр книги excel которая уже открыта  [new]
assei
Member

Откуда: Тамбов
Сообщений: 231
Serg197311, та же ошибка что и во втором варианте сообщения [21770323]
21 дек 18, 12:09    [21770353]     Ответить | Цитировать Сообщить модератору
 Re: закрыть экземпляр книги excel которая уже открыта  [new]
assei
Member

Откуда: Тамбов
Сообщений: 231
Serg197311, у меня получилось так но ошибка в строке:
Public appex As Object
Public Sub Saveарр()
    Set appex = CreateObject("Excel.Application")
    appex.Visible = False
        
        With appex
        .Workbooks.Open (App.Path & "\DOCM.xlsx")
        .ActiveWorkbook.Save  'ошибка здесь
        .ActiveWorkbook.Close
    End With
    appex.Quit
    End Sub
21 дек 18, 13:08    [21770425]     Ответить | Цитировать Сообщить модератору
 Re: закрыть экземпляр книги excel которая уже открыта  [new]
Serg197311
Member

Откуда:
Сообщений: 339
У меня не VB, а VBA...
У меня работает такой вариант строки, где у вас ошибка -
.save
21 дек 18, 13:35    [21770455]     Ответить | Цитировать Сообщить модератору
 Re: закрыть экземпляр книги excel которая уже открыта  [new]
assei
Member

Откуда: Тамбов
Сообщений: 231
Serg197311,

К сообщению приложен файл. Размер - 12Kb
21 дек 18, 13:43    [21770460]     Ответить | Цитировать Сообщить модератору
 Re: закрыть экземпляр книги excel которая уже открыта  [new]
assei
Member

Откуда: Тамбов
Сообщений: 231
Serg197311, вот какие ошибки

К сообщению приложен файл. Размер - 49Kb
21 дек 18, 13:47    [21770462]     Ответить | Цитировать Сообщить модератору
Все форумы / Visual Basic Ответить