|
|
| |
|
|
| |
to: pashulka
(24.04.2012 в 19:02)
|
| | поставил ознакомительную версию 2010 все прекрасно работает.Попробую обновление поставить на 2007 результат сообщу. | |
| |
| |
| |
|
|
| |
to: k@s
(24.04.2012 в 14:23)
|
| | сначала уберите все ссылки на библиотеку Word и только затем тестируйте | |
| |
| |
| |
|
|
| |
to: shanemac51
(24.04.2012 в 14:44)
|
| | Set objWord = Nothing
это просто перестраховка | |
| |
| |
| |
|
|
| |
to: pashulka
(23.04.2012 в 21:28)
|
| |
'как минимум
objWord.Quit -1 'wdSaveChanges
Set objWord = Nothing
End Sub
|
| |
| |
| |
| |
|
|
| |
to: k@s
(24.04.2012 в 14:23)
|
| | скорее всего
----------у вас в памяти уже 1 экземпляр ворда висит
проверьте
ctrl+alt+del
список процессов
| |
| |
| |
| |
 27 Кб. |
|
| |
to: pashulka
(23.04.2012 в 21:28)
|
| | Не хотит работать.База виснит Word в памяти висит. | |
| |
| |
| |
|
|
| |
to: k@s
(23.04.2012 в 03:31)
|
| | Можно воспользоваться поздним связыванием ... и нафиг все референсы, точнее сказать, только Word
Dim objWord As Object
Dim ctlForm As Control
Dim strPath$, strTemp$
strPath = Application.CurrentProject.Path
If Len(Dir(strPath & "\word.dot")) = 0 Then
MsgBox "Шаблон word.dot изволит отсутствовать", , strPath
Exit Sub
End If
Set objWord = CreateObject("Word.Application")
objWord.Visible = True
objWord.DisplayAlerts = 0 'wdAlertsNone
With objWord.Documents.Add(strPath & "\word.dot")
For Each ctlForm In Me.Controls
If ctlForm.ControlType = acTextBox Then
strTemp = ctlForm.Name
If .Bookmarks.Exists(strTemp) = True Then
.Bookmarks(strTemp).Range.Text = ctlForm.Text 'Me(strTemp)
End If
End If
Next
.SaveAs strPath & "\word.doc" '.Close -1 'wdSaveChanges
End With
'objWord.DisplayAlerts = -1 'wdAlertsAll
objWord.Quit -1 'wdSaveChanges
|
| |
| |
| |
| |
 14 Кб. |
|
| |
to: k@s
(18.04.2012 в 13:41)
|
| | Дык как эту ошибку побороть .Подскажите пожалуйста | |
| |
| |
| |
|
|
| |
to: snipe
(18.04.2012 в 12:23)
|
| | word12 стала автоматом вместо word11.Преобразовал в 2007 таже ошибка. | |
| |
| |
| |
|
|
| |
to: k@s
(18.04.2012 в 11:33)
|
| | а библиотека подключена (правильная) | |
| |
| |
| |
|
|
| |
to: snipe
(18.04.2012 в 09:34)
|
| | Да я забыл ,ошибка появляется в access 2007 в 2003 нормально работает  | |
| |
| |
| |
|
|
| |
to: k@s
(18.04.2012 в 07:34)
|
| | тут должна ошибка появиться
strDOT = .Path & "word.dot"
strDOC = .Path & "word.doc"
вот так вроде должно быть
strDOT = .Path & "\word.dot"
strDOC = .Path & "\word.doc" | |
| |
| |
| |
 14 Кб. |
|
| |
to: pashulka
(16.04.2012 в 14:01)
|
| | В этом же примере сделал кнопку вывода данных в word но появляется ошибка.Что это за ошибка и как с ней бороться?
Dim app As Word.Application 'Приложение программы
'Dim obj As Object
Dim strDOC As String ' Имя документа
Dim strDOT As String ' Имя шаблона
Dim ctl As Control ' Управляющие элементы в форме
Dim s As String ' Вспомогательная строка
On Error GoTo 999
' Определяем имена шаблона и документа Word
With Application.CurrentProject
strDOT = .Path & "word.dot"
strDOC = .Path & "word.doc"
End With
' Управление документом Word
Set app = New Word.Application 'Новое приложение Word
app.Visible = True 'Отображаем документ
app.Documents.Add strDOT 'Добавляем шаблон
With app.ActiveDocument 'Выбираем активный документ
'Set obj = New Word.Application 'Новое приложение Word
'obj.Visible = True 'Отображаем документ
'obj.Documents.Add strDOT 'Добавляем шаблон
'With obj.ActiveDocument 'Выбираем активный документ
On Error Resume Next ' Отключаем ошибки
' Просматриваем все элементы формы, если
' такой закладки нет, то очищаем поток от ошибки
For Each ctl In Me.Controls
If ctl.ControlType = acTextBox Then
s = ctl.Name ' Определяем название элемента
.Bookmarks.Item(s).Range.Text = Me(s) 'Устанавливаем текст
Err.Clear ' Очищаем поток от ошибки при отсутствии элемента
End If
Next ctl
.SaveAs strDOC ' Сохраняем файл
On Error GoTo 999 ' Включаем обработку ошибки
End With
' app.Quit 'Закрываем приложение
Exit Sub
app.Quit
'obj.Quit
999:
MsgBox Err.Description 'Ошибка
Err.Clear | |
| |
| |
| |
|
|
| |
to: k@s
(16.04.2012 в 13:37)
|
| | Дык, я же намекал на то, что Application это Excel, а как Вы получаете доступ к этому об'екту мне неизвестно (ибо Access отсутствует)
P.S. Если вышлите мне на почту только модуль, то напишу как адаптировать сие свойство под Ваш пример, кстати, от ненужного сообщения можно избавиться, если просто не допускать его появления, т.е. проверять наличие файла, и если файл существует, то удалять его (и только затем сохранять книгу) | |
| |
| |
| |
|
|
| |
to: pashulka
(16.04.2012 в 12:45)
|
| | пробовал этот вариант тоже ругается на DisplayAlerts. в примере есть строка DoCmd.SetWarnings False '-но она почему то не работает | |
| |
| |
| |
|
|
| |
to: k@s
(16.04.2012 в 10:59)
|
| |
Application.DisplayAlerts = False 'Excel
'Сохранение рабочей книги
Application.DisplayAlerts = True
|
| |
| |
| |
| |
|
|
| |
to: ddi
(14.04.2012 в 12:36)
|
| | да оба работают.теперь как отменить сообщение и чтобы по умолчанию заменила и сохранила файл. | |
| |
| |
| |
|
|
| |
to: k@s
(14.04.2012 в 09:39)
|
| | "m/d/yyyy"? | |
| |
| |
| |
|
|
| |
to: snipe
(14.04.2012 в 08:24)
|
| | Дело в том что каждый раз создается новый лист.
Похоже надо делать так Range("h:h").NumberFormat = "dd.mm.yyyy" | |
| |
| |
| |
|
|
| |
to: k@s
(14.04.2012 в 06:00)
|
| | Пример в работе посмотреть не могу
но в общем принцип примерно такой
при выгрузке вы выводите в ячейку которая имеет формат либо числовой либо общий
соответственно надо установить свойство ячейки правильно в формат дата/время
для этого в екселе надо записать макрос с действием изменения формата и посмотреть как это делает сам ексель (в редакторе vba) и перенести это в акс | |
| |
| |
| |
 45 Кб. |
|
| | Разбираю пример Передача информации из Access в Excel и столкнулся с проблемой вывода даты в Excel .Вместо даты набор цифр. Подскажите как это победить. | |
| |
| |