Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: Помогите организовать сохранение Добавлено: 02.09.09 15:11  

Автор вопроса:  yuri_K
Проблема следующая - я реализовал такой вот код
'''''''''''''''''''
Sub main()
       tranz = 1
        bbb = 0
While tranz < 6
bbb = bbb + 1
If bbb < 25 Then
        On Error GoTo raz:
        ChDir "d:\temp\"
        tranz = 1
        On Error GoTo raz:
        Kill "d:\temp\trans.txt"
        tranz = 2
        On Error GoTo raz:
        Worksheets("trans").SaveAs "d:\temp\trans.txt", FileFormat:=xlTextPrinter, CreateBackup:=False
        tranz = 3
        On Error GoTo raz:
        ChDir "d:\temp\"
        tranz = 4
        On Error GoTo raz:
        Kill "d:\temp\trans.xls"
        tranz = 5
        On Error GoTo raz:
        ActiveWorkbook.SaveAs Filename:="d:\temp\trans.xls", FileFormat:=xlNormal, CreateBackup:=False
        tranz = 6
label1:
End If
If bbb >= 25 Then tranz = 7
Wend
Exit Sub


raz:
Resume label1:

End Sub
''''''''''''''''''''''''''''
проблема в следующем - сохраняемым файлом пользуется еще одна программа, соответственно когда код пытается сохранить иногда возникает ошибка "файл занят другим приложением", "нет доступа к файлу" и т.п.
хотелось бы чтобы процедура сохранения осуществлялась в любом случае: нет ошибки все ок, есть ошибка ждем пока файл не освободился и пытаемся сохранить пока не сохранится. Важно чтобы не возникало сообщений на подтверждение операции и т.п.
Заранее благодарен за помощь

Ответить

  Ответы Всего ответов: 3  

Номер ответа: 1
Автор ответа:
 UnDeAdZak



Вопросов: 80
Ответов: 476
 Профиль | | #1 Добавлено: 02.09.09 17:40
Для пропуска ошибки есть оператор On Error Resume Next, но я не знаю, работает-ли он в VBA.

Ответить

Номер ответа: 2
Автор ответа:
 fAndOrIn



Вопросов: 5
Ответов: 344
 Профиль | | #2 Добавлено: 02.09.09 22:13
  1. application.displayalerts=false
  2. on error resume next
  3. do
  4.   Worksheets("trans").SaveAs "d:\temp\trans.txt", FileFormat:=xlTextPrinter, CreateBackup:=False
  5.   ActiveWorkbook.SaveAs Filename:="d:\temp\trans.xls", FileFormat:=xlNormal, CreateBackup:=False
  6. loop while err
  7. application.displayalerts=true

Ответить

Номер ответа: 3
Автор ответа:
 Николай



ICQ: 643222346 

Вопросов: 1
Ответов: 6
 Профиль | | #3 Добавлено: 24.12.10 21:04
Да вроде бы если файл занят одной программой то на другом ПК невозможно будет пересохранить или изменить Так же и на одном ПК при выполнении не изменится

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам