|
|
|
Help!!! Word and Access
|
|||
|---|---|---|---|
|
#18+
Здравствуйте! У меня такая проблимз! в Accessе есть форма принажатии кнопки у меня автоматичеки сохраняется файл типа doc с названием поля открытой страницы этой формы. в форме более 50 страниц, следовательно более 50 файлов с расширением doc. так называемый файл.doc каждый раз разный!! Потомучто получен вот так: 'получение имени нового файла strFleName = "СЗ№" & "" & Forms!Служеб!№служебной & "" & Forms!Служеб!Описание & "" & ".doc" ' получеия строки полниой для сохранения myDocname = "C:\cz\" + strFleName А вот как сделать обратное, открыть уже ранее созданный файл с таким именем при нажати кнопки???? я незнаю как написать процедуру ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2004, 00:38 |
|
||
|
Help!!! Word and Access
|
|||
|---|---|---|---|
|
#18+
получение имени нового файла strFleName = "СЗ№" & "" & Forms!Служеб!№служебной & "" & Forms!Служеб!Описание & "" & ".doc" ' получеия строки полниой для сохранения myDocname = "C:\cz\" + strFleName shell "winword.exe " & myDocname ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2004, 00:57 |
|
||
|
Help!!! Word and Access
|
|||
|---|---|---|---|
|
#18+
Вернее, Shell """" & SysCmd(acSysCmdAccessDir) & "\winword.exe"" " & myDocname ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2004, 01:03 |
|
||
|
Help!!! Word and Access
|
|||
|---|---|---|---|
|
#18+
Спасибо! Но я не знаю как всю процедуру для кнопки задать? там же цикл будет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2004, 01:05 |
|
||
|
Help!!! Word and Access
|
|||
|---|---|---|---|
|
#18+
из Access Форма №СЗ 2 описание о том то на форме кнопка (просмотреть СЗ)! и при нажатии этой кнопки должен открываться файл с названием СЗ№2о том то.doc ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2004, 01:20 |
|
||
|
Help!!! Word and Access
|
|||
|---|---|---|---|
|
#18+
К сожалению, не очень понял смысл последнего поста. и при нажатии этой кнопки должен открываться файл с названием СЗ№2о том то.doc Ну и пусть открывается. Ты в цикле открываешь файлы? Тогда будет цикл (если напишешь его). Один файл открываешь? Тогда не будет цикла (если не напишешь его)... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2004, 01:28 |
|
||
|
Help!!! Word and Access
|
|||
|---|---|---|---|
|
#18+
Да вот в этом и есть вся фича я незнаю как цикл написать? я начинающий vb програмер! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2004, 01:33 |
|
||
|
Help!!! Word and Access
|
|||
|---|---|---|---|
|
#18+
For Next или Do Loop или While wend ... --- Cм. F1. См. "Борей". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2004, 01:40 |
|
||
|
Help!!! Word and Access
|
|||
|---|---|---|---|
|
#18+
Смотри! есть база по док обороту которая состоит из множеств таблиц форм и тд. заходит юз чтоб написать СЗ он должен взять ее номер он заходит в базу в нужную форму набивает это все нажимает кнопку (отправить в воерд) и автомтически сохроняет фаил с нужным именем в док. это я сделала но мне терьнужен обратный эффект он зашел в базу нашел нужный ему ранее написанный номер СЗ и хочет открыть ее для просмотра ну там прочитать документ. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2004, 01:43 |
|
||
|
Help!!! Word and Access
|
|||
|---|---|---|---|
|
#18+
Слушай! Я выспался и все равно не понимаю что ты хочешь как запустить ворд и передать ему имя файла для открытия тебе уже сказали как сделать кнопку ты знаешь значит сделать еще одну кнопку сумеешь. При чем тут циклы не пойму попробуй сделай и если будет ошибка напиши код и покажи строку где возникла ошибка может быть тогда станет понятнее что требуется. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2004, 08:24 |
|
||
|
Help!!! Word and Access
|
|||
|---|---|---|---|
|
#18+
я тож отдохнула объясняю! ну как файл же сохраняется в ворде а база в акцесе мне и надо открывать из базы вордовский файл для просмотра. вобщем база она будет что-то типо проводника в виндах. А как создать таблицу чтобы автоматом записывались имена файлов ну и путь к ним? P.S. я не глупая меня просто все достали! требуют эл. док. оборот за неделю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2004, 21:31 |
|
||
|
Help!!! Word and Access
|
|||
|---|---|---|---|
|
#18+
пишет Object variable or With block variable not set ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2004, 21:43 |
|
||
|
Help!!! Word and Access
|
|||
|---|---|---|---|
|
#18+
Где пишет?! прости господи ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2004, 22:03 |
|
||
|
Help!!! Word and Access
|
|||
|---|---|---|---|
|
#18+
а еще он the remote machine does not exit or is unavailable вот как ругается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2004, 22:05 |
|
||
|
Help!!! Word and Access
|
|||
|---|---|---|---|
|
#18+
Я ж могу и обидется! ну понимаю достала я зделала кнопку вторую нажимаю вот где пишется ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2004, 22:12 |
|
||
|
Help!!! Word and Access
|
|||
|---|---|---|---|
|
#18+
Покажите, пожалуйста, текст процедуры (если можно, полностью)... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2004, 22:12 |
|
||
|
Help!!! Word and Access
|
|||
|---|---|---|---|
|
#18+
Слушай мож мылом выслать он большой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2004, 22:16 |
|
||
|
Help!!! Word and Access
|
|||
|---|---|---|---|
|
#18+
> Я ж могу и обидется! Вопрос отнюдь не в Вашей назойливости, а в том, что Вы, похоже, разговариваете сами с собой. Как я или любой из присутствующих может догадаться, где и почему возникает ошибка "объектная переменная не задана"? Конкурс телепатов у нас на форуме уже был, лично я не попал даже в десятку лидеров. Файл не то из акцесса по кнопке сохраняется не то из ворда а в акцессе его надо найти причем в цикле но не в бесконечном процедура сохранения сделана только процедуру создать не выходит. > Слушай мож мылом выслать он большой? Код обработчика нажатия кнопки большой? Если один-два экрана - лучше сюда, в мыло не хочу смотреть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2004, 22:25 |
|
||
|
Help!!! Word and Access
|
|||
|---|---|---|---|
|
#18+
извените что на ты! 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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2004, 22:30 |
|
||
|
Help!!! Word and Access
|
|||
|---|---|---|---|
|
#18+
Код обработчика нажатия кнопки, это только это: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Переменная mainWord к моменту его выполнения может быть и не задана, что и происходит, и из-за чего возникает ошибка. Можно повыкидывать или закомментарить строки с ее упоминанием. (Я не знаю, что они делают, поэтому это тоже считаю вариантом) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Либо можно работать с Application: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. Только при чем тут цикл? --- ЗЫ. Это все не проверял, могут быть другие ошибки. Можно нажимать на кнопку "справка" в окошке ошибки, тогда увидишь ее описание. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2004, 23:08 |
|
||
|
Help!!! Word and Access
|
|||
|---|---|---|---|
|
#18+
1 варитант таже ошибка 2 вариант открывает пустой ворд 3 вариант не каких действий да цыкл тут не нужен!!!! а как сделать так чтоб акцес автоматисеки создавал таблицу с именами файлов?? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2004, 23:38 |
|
||
|
Help!!! Word and Access
|
|||
|---|---|---|---|
|
#18+
урааа спасибо 1 вариант ругается но открывыает! чмок он опять говорит что объектная переменная или с блочной переменной не установленное но работает!!!!!!!!!!! но хотя всеж определено? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2004, 23:51 |
|
||
|
Help!!! Word and Access
|
|||
|---|---|---|---|
|
#18+
АААААААААА Вау это круто мы это сделали!!!!!!!!! я кое че там на меняла и получилась!!!!! С меня ПИВО!!!! если надо опобликовать конечный вариант??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2004, 00:14 |
|
||
|
Help!!! Word and Access
|
|||
|---|---|---|---|
|
#18+
Первый вариант - это оригинал. Во втором недостает строки (нечаянно удалил с остальным) myDocname = "C:\cz\" + strFleName В третьем перед HaveError: надо написать mainWord.visible = true > Вау это круто мы это сделали!!!!!!!!! Вот и славненько :) --- "- Какой тулуп? - Из того зайца, на которого тень от орла упала." (с) :) > если надо опобликовать конечный вариант??? Как хочешь. :) А знаки препинания в нашем великом и могучем все-таки не запрещается ставить :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.03.2004, 00:34 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32450676&tid=1675755]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
188ms |
get topic data: |
15ms |
get forum data: |
4ms |
get page messages: |
90ms |
get tp. blocked users: |
2ms |
| others: | 233ms |
| total: | 568ms |

| 0 / 0 |
