powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Help!!! Word and Access
25 сообщений из 48, страница 1 из 2
Help!!! Word and Access
    #32450662
Фотография Tasha178
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте!
У меня такая проблимз!
в Accessе есть форма принажатии кнопки у меня автоматичеки сохраняется файл типа doc с названием поля открытой страницы этой формы.
в форме более 50 страниц, следовательно более 50 файлов с расширением doc.

так называемый файл.doc каждый раз разный!! Потомучто получен вот так:

'получение имени нового файла
strFleName = "СЗ№" & "" & Forms!Служеб!№служебной & "" & Forms!Служеб!Описание & "" & ".doc"
' получеия строки полниой для сохранения
myDocname = "C:\cz\" + strFleName

А вот как сделать обратное, открыть уже ранее созданный файл с таким именем при нажати кнопки????
я незнаю как написать процедуру
...
Рейтинг: 0 / 0
Help!!! Word and Access
    #32450669
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
получение имени нового файла
strFleName = "СЗ№" & "" & Forms!Служеб!№служебной & "" & Forms!Служеб!Описание & "" & ".doc"
' получеия строки полниой для сохранения
myDocname = "C:\cz\" + strFleName
shell "winword.exe " & myDocname
...
Рейтинг: 0 / 0
Help!!! Word and Access
    #32450670
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вернее,
Shell """" & SysCmd(acSysCmdAccessDir) & "\winword.exe"" " & myDocname
...
Рейтинг: 0 / 0
Help!!! Word and Access
    #32450671
Фотография Tasha178
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо!
Но я не знаю как всю процедуру для кнопки задать?
там же цикл будет?
...
Рейтинг: 0 / 0
Help!!! Word and Access
    #32450672
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где?
...
Рейтинг: 0 / 0
Help!!! Word and Access
    #32450673
Фотография Tasha178
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
из Access
Форма
№СЗ 2
описание о том то
на форме кнопка (просмотреть СЗ)!
и при нажатии этой кнопки должен открываться файл с названием
СЗ№2о том то.doc
...
Рейтинг: 0 / 0
Help!!! Word and Access
    #32450676
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К сожалению, не очень понял смысл последнего поста.
и при нажатии этой кнопки должен открываться файл с названием
СЗ№2о том то.doc

Ну и пусть открывается. Ты в цикле открываешь файлы? Тогда будет цикл (если напишешь его). Один файл открываешь? Тогда не будет цикла (если не напишешь его)...
...
Рейтинг: 0 / 0
Help!!! Word and Access
    #32450677
Фотография Tasha178
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да вот в этом и есть вся фича я незнаю как цикл написать?
я начинающий vb програмер!
...
Рейтинг: 0 / 0
Help!!! Word and Access
    #32450680
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
For
Next

или

Do
Loop

или

While
wend

...
---
Cм. F1. См. "Борей".
...
Рейтинг: 0 / 0
Help!!! Word and Access
    #32450681
Фотография Tasha178
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смотри!
есть база по док обороту
которая состоит из множеств таблиц форм и тд.
заходит юз чтоб написать СЗ он должен взять ее номер он заходит в базу в нужную форму набивает это все нажимает кнопку (отправить в воерд) и автомтически сохроняет фаил с нужным именем в док.
это я сделала
но мне терьнужен обратный эффект
он зашел в базу нашел нужный ему ранее написанный номер СЗ и хочет открыть ее для просмотра ну там прочитать документ.
...
Рейтинг: 0 / 0
Help!!! Word and Access
    #32450750
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Слушай!
Я выспался и все равно не понимаю что ты хочешь как запустить ворд и передать ему имя файла для открытия тебе уже сказали как сделать кнопку ты знаешь значит сделать еще одну кнопку сумеешь.
При чем тут циклы не пойму попробуй сделай и если будет ошибка напиши код и покажи строку где возникла ошибка может быть тогда станет понятнее что требуется.
...
Рейтинг: 0 / 0
Help!!! Word and Access
    #32452072
Фотография Tasha178
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я тож отдохнула объясняю!
ну как файл же сохраняется в ворде а база в акцесе мне и надо открывать из базы вордовский файл для просмотра.
вобщем база она будет что-то типо проводника в виндах.
А как создать таблицу чтобы автоматом записывались имена файлов ну и путь к ним?

P.S. я не глупая меня просто все достали! требуют эл. док. оборот за неделю.
...
Рейтинг: 0 / 0
Help!!! Word and Access
    #32452081
Фотография Tasha178
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пишет
Object variable or With block variable not set
...
Рейтинг: 0 / 0
Help!!! Word and Access
    #32452092
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где пишет?!
прости господи
...
Рейтинг: 0 / 0
Help!!! Word and Access
    #32452094
Фотография Tasha178
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а еще он
the remote machine does not exit or is unavailable
вот как ругается
...
Рейтинг: 0 / 0
Help!!! Word and Access
    #32452098
Фотография Tasha178
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я ж могу и обидется!
ну понимаю достала
я зделала кнопку вторую нажимаю вот где пишется
...
Рейтинг: 0 / 0
Help!!! Word and Access
    #32452099
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Покажите, пожалуйста, текст процедуры (если можно, полностью)...
...
Рейтинг: 0 / 0
Help!!! Word and Access
    #32452102
Фотография Tasha178
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Слушай мож мылом выслать он большой?
...
Рейтинг: 0 / 0
Help!!! Word and Access
    #32452105
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Я ж могу и обидется!

Вопрос отнюдь не в Вашей назойливости, а в том, что Вы, похоже, разговариваете сами с собой. Как я или любой из присутствующих может догадаться, где и почему возникает ошибка "объектная переменная не задана"? Конкурс телепатов у нас на форуме уже был, лично я не попал даже в десятку лидеров.

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

> Слушай мож мылом выслать он большой?

Код обработчика нажатия кнопки большой? Если один-два экрана - лучше сюда, в мыло не хочу смотреть.
...
Рейтинг: 0 / 0
Help!!! Word and Access
    #32452107
Фотография Tasha178
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
извените что на ты!
Option Compare Database
Option Explicit
Public myDocname As String, strFleName As String, errDocname As String
Public mainWord As Object
Public aaa As Boolean

Private Sub Кнопка23_Click()
On Error GoTo Err_CreateCV
Dim objWinWord As Object
' пишет строку "Выполняются подготовительные операции." в строке состояния аксесса
Application.Echo False, "Выполняются подготовительные операции." ' Отключает обновление экрана.
DoCmd.Hourglass True ' Выводит значок песочных часов.

'создание обьекта ворда на основе файла указаного в пути
If Not Create_Doc_Word2("C:\db1\tex.doc", mainWord) Then
MsgBox "Невозможно создать Отчет."
Err.Raise 1, "Create_Doc_Word2", "создание основного документа Report"
GoTo Exit_CreateCV
End If

' прячет документ вода
mainWord.Visible = False

' включает показ кодов полей,отключает проверку орфографии, отключает проверку грамматики
mainWord.ActiveWindow.View.ShowFieldCodes = True
mainWord.Options.CheckSpellingAsYouType = False
mainWord.Options.CheckGrammarAsYouType = False


' включение обновление экрана
Application.Echo True

' вставка поля из рекордсета в поле с именем -----
aaa = ReplaceField(mainWord, "Privet", Forms!Служеб!Кому)
aaa = ReplaceField(mainWord, "ded", ("Служебная записка №76/" & "" & Forms!Служеб!№служебной & "" & "-" & "" & Forms!Служеб!КНГ & "" & "-04"))
aaa = ReplaceField(mainWord, "text", Forms!Служеб!Описание)
aaa = ReplaceField(mainWord, "Kto", ("Начальник СКТО ___________ Лебедев В.Е."))


SetupVievDoc mainWord, 3 ' переключение в просмотр но не активация не путайте
'отключение показа кодов полей
mainWord.ActiveWindow.View.ShowFieldCodes = False
'получение имени нового файла
strFleName = "СЗ№" & "" & Forms!Служеб!№служебной & "" & Forms!Служеб!Описание & "" & ".doc"
' получеия строки полниой для сохранения
myDocname = "C:\cz\" + strFleName


mainWord.Selection.WholeStory
mainWord.Selection.Fields.Update

myDocname = SaveDoc(strFleName, "C:\cz\")

mainWord.ActiveDocument.SaveAs FileName:=myDocname ', FileFormat:=2 'wdFormatText

Dim i As Integer
'звуковой сигнал об окончании формирования у меня на компе че-то не пищит, а на старых пикает
For i = 1 To 10
Beep
Next i
mainWord.Visible = True

' отключает песочные часики мышки на экране
DoCmd.Hourglass False

Exit_CreateCV:
Exit Sub
Err_CreateCV:
MsgBox Err.Description
MsgBox "Модуль находится на тестировании. Сообщите разработчику об ошибке."
Resume Exit_CreateCV

End Sub
Function ReplaceField(objWinWord As Object, strCode As String, ValueField As Variant) As Boolean
Dim sect As Integer, i As Integer, kolFields As Integer
Dim strValueField As String
ReplaceField = False
' проверка на непустоту
If Not IsNull(ValueField) Then
strValueField = CStr(ValueField)
Else
strValueField = ""
End If
With objWinWord.ActiveDocument
' проверка количесва записей ( сейчас не особо важно но когда используеться в запросах и полях со списком надо
kolFields = .Fields.Count
For i = 1 To kolFields
' находи поле в документе потом если количество одно то удаляет
If LCase(Trim(.Fields(i).Code)) = LCase(Trim(strCode)) Then
.Fields(i).Select
.Fields(i).Delete
If strValueField = "" Then
Else
'вставка значения поля вместо поля с названием strCode
objWinWord.Selection.InsertBefore strValueField
End If
ReplaceField = True
Exit For
End If
Next
End With
' проверка на вставку если не вставило то выдает ошибку
If ReplaceField = False Then
Err.Raise 50001, "ReplaceField", " Запись в поле " + strCode + " значения" + ValueField
End If
End Function

Sub SetupVievDoc(docWord As Object, TypeView As Integer)
' это можно не включать в код здесь вкартце настраиваэться рабочий стол ворда ( в смысле вид панельки и т.д.)
With docWord
If .ActiveWindow.View.SplitSpecial = 0 Then
.ActiveWindow.ActivePane.View.Type = 3
Else
.ActiveWindow.View.Type = 3
End If
If .ActiveWindow.View.SplitSpecial <> 0 Then
.ActiveWindow.Panes(2).Close
End If
If .ActiveWindow.ActivePane.View.Type = 1 Or .ActiveWindow.ActivePane.View.Type = 2 Or .ActiveWindow.ActivePane.View.Type = 5 Then
.ActiveWindow.ActivePane.View.Type = 3
End If
If TypeView = 3 Then
.ActiveWindow.ActivePane.View.Type = 3
Else
.ActiveWindow.ActivePane.View.SeekView = TypeView
End If
End With

End Sub

Function SaveDoc(strFleName As String, strPath As String)
'strFleName- название файла с расширением
'strPath - полный путь файла
'возвращает полное имя файла в который необходимо сохранить файл
Dim Message As String, Title As String, CurBottom As Integer
If Dir(strPath + strFleName) <> "" Then
Message = "Файл с именем " + (Chr(13) & Chr(10)) + strFleName + (Chr(13) & Chr(10)) & _
" уже существует." + (Chr(13) & Chr(10)) & _
"Переписать существующий файл вновь созданным?"
Title = "ВНИМАНИЕ!" ' Заголовок.
CurBottom = MsgBox(Message, vbYesNo + vbApplicationModal, Title)
If CurBottom = vbYes Then
' сохраняет документ под исходным именем
SaveDoc = strPath + strFleName
Else
Message = "Введите имя файла для вновь созданного документа."
Title = "Новое имя." ' Заголовок.
Dim strDefault As String

strDefault = Mid(strFleName, 1, Len(strFleName) - 4)
strFleName = InputBox(Message, Title, strDefault) + ".doc"

SaveDoc = SaveDoc(strFleName, strPath)

End If

'процедура подшивки файла к отбору

Else
SaveDoc = strPath + strFleName
End If
End Function

Function Create_Doc_Word2(strTemplate As String, objWinWord As Object)
' выполняет создание обьекта на основе вордовского файла
' с проверкой можно его открывать или нет
On Error GoTo H_OLEerr
Dim blnIsAppOpen As Boolean

Set objWinWord = GetObject(, "Word.Application")
blnIsAppOpen = True

H_OLEcontinue:
If blnIsAppOpen = False Then
Set objWinWord = CreateObject("Word.Application")
End If
objWinWord.Documents.Add Template:=strTemplate
Create_Doc_Word2 = True
Exit Function

H_OLEerr:
Select Case Err
Case 429
blnIsAppOpen = False
Resume H_OLEcontinue
Case Else
End Select
End Function

Private Sub Кнопка26_Click()
On Error GoTo Err_Кнопка26_Click

Dim stAppName As String

stAppName = "X:\Служебные записки\СЗ№1.doc"
Call Shell(stAppName, 1)

Exit_Кнопка26_Click:
Exit Sub

Err_Кнопка26_Click:
MsgBox Err.Description
Resume Exit_Кнопка26_Click

End Sub
Private Sub Кнопка28_Click()
On Error GoTo Err_Кнопка28_Click


DoCmd.Close

Exit_Кнопка28_Click:
Exit Sub

Err_Кнопка28_Click:
MsgBox Err.Description
Resume Exit_Кнопка28_Click

End Sub


Private Sub Кнопка29_Click()
On Error GoTo Err_Кнопка29_Click

Dim strFleName As String, stAppName As String

mainWord.ActiveWindow.View.ShowFieldCodes = False

'получение имени нового файла
strFleName = "СЗ№" & "" & Forms!Служеб!№служебной & "" & Forms!Служеб!Описание & "" & ".doc"
' получеия строки полниой для сохранения
myDocname = "C:\cz\" + strFleName
Shell """" & SysCmd(acSysCmdAccessDir) & "\winword.exe"" " & myDocname

mainWord.Selection.WholeStory
mainWord.Selection.Fields.Update



Exit_Кнопка29_Click:
Exit Sub

Err_Кнопка29_Click:
MsgBox Err.Description
Resume Exit_Кнопка29_Click

End Sub
...
Рейтинг: 0 / 0
Help!!! Word and Access
    #32452120
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код обработчика нажатия кнопки, это только это:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Private Sub Кнопка29_Click()
  On Error GoTo Err_Кнопка29_Click
  Dim strFleName As String, stAppName As String
  mainWord.ActiveWindow.View.ShowFieldCodes = False
  'получение имени нового файла
  strFleName = "СЗ№" & "" & Forms!Служеб!№служебной & "" & Forms!Служеб!Описание & "" & ".doc"
  ' получеия строки полниой для сохранения
  myDocname =  "C:\cz\"  + strFleName
  Shell  """  " & SysCmd(acSysCmdAccessDir) & " \winword.exe "" "  & myDocname
  mainWord.Selection.WholeStory
  mainWord.Selection.Fields.Update
Exit_Кнопка29_Click:
  Exit Sub
Err_Кнопка29_Click:
  MsgBox Err.Description
  Resume Exit_Кнопка29_Click
End Sub


Переменная mainWord к моменту его выполнения может быть и не задана, что и происходит, и из-за чего возникает ошибка. Можно повыкидывать или закомментарить строки с ее упоминанием. (Я не знаю, что они делают, поэтому это тоже считаю вариантом)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Private Sub Кнопка29_Click()
  On Error GoTo Err_Кнопка29_Click
  Dim strFleName As String, stAppName As String
  'получение имени нового файла
  strFleName = "СЗ№" & "" & Forms!Служеб!№служебной & "" & Forms!Служеб!Описание & "" & ".doc"
  ' получеия строки полниой для сохранения
  Shell  """  " & SysCmd(acSysCmdAccessDir) & " \winword.exe "" "  & myDocname
Exit_Кнопка29_Click:
  Exit Sub
Err_Кнопка29_Click:
  MsgBox Err.Description
  Resume Exit_Кнопка29_Click
End Sub


Либо можно работать с Application:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
Private Sub Кнопка29_Click()
  Dim strFleName As String, stAppName As String

On Error Resume Next
  Set mainWord = GetObject(,  "Word.Application" )
  If Err.Number <>  0  Then
    Set mainWord = CreateObject( "Word.Application" )
  endif
  If Err.Number <>  0  Then Exit Sub
On Error GoTo HaveError
  'получение имени нового файла
  strFleName = "СЗ№" & "" & Forms!Служеб!№служебной & "" & Forms!Служеб!Описание & "" & ".doc"
  ' получеия строки полниой для сохранения
  myDocname =  "C:\cz\"  + strFleName
  mainWord.Documents.Open myDocname
  mainWord.ActiveWindow.View.ShowFieldCodes = False
  mainWord.Selection.WholeStory
  mainWord.Selection.Fields.Update
HaveError:
End Function


Только при чем тут цикл?
---
ЗЫ. Это все не проверял, могут быть другие ошибки. Можно нажимать на кнопку "справка" в окошке ошибки, тогда увидишь ее описание.
...
Рейтинг: 0 / 0
Help!!! Word and Access
    #32452135
Фотография Tasha178
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1 варитант
таже ошибка

2 вариант
открывает пустой ворд

3 вариант
не каких действий

да цыкл тут не нужен!!!!
а как сделать так чтоб акцес автоматисеки создавал таблицу с именами файлов??
...
Рейтинг: 0 / 0
Help!!! Word and Access
    #32452144
Фотография Tasha178
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
урааа спасибо 1 вариант ругается но открывыает! чмок
он опять говорит что
объектная переменная или с блочной переменной не установленное
но работает!!!!!!!!!!!
но хотя всеж определено?
...
Рейтинг: 0 / 0
Help!!! Word and Access
    #32452152
Фотография Tasha178
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АААААААААА
Вау это круто мы это сделали!!!!!!!!!
я кое че там на меняла и получилась!!!!!
С меня ПИВО!!!!
если надо опобликовать конечный вариант???
...
Рейтинг: 0 / 0
Help!!! Word and Access
    #32452159
Фотография Geo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Первый вариант - это оригинал.

Во втором недостает строки (нечаянно удалил с остальным)
myDocname = "C:\cz\" + strFleName

В третьем перед HaveError: надо написать
mainWord.visible = true

> Вау это круто мы это сделали!!!!!!!!!

Вот и славненько :)

---
"- Какой тулуп?
- Из того зайца, на которого тень от орла упала." (с)
:)

> если надо опобликовать конечный вариант???

Как хочешь. :)
А знаки препинания в нашем великом и могучем все-таки не запрещается ставить :)
...
Рейтинг: 0 / 0
25 сообщений из 48, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Help!!! Word and Access
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]