gordan11 1 / 1 / 1 Регистрация: 16.05.2013 Сообщений: 240 |
||||
1 |
||||
13.12.2014, 22:54. Показов 15093. Ответов 18 Метки нет (Все метки)
Здравствуйте, подскажите как сделать, или в каком направлении гуглить. Мне нужно запусть макрос в access, который открывает файл word. На просторах интернета нашел код.
Он запускает Word документ но:
Как можно исправить эти «но», и можно ли их вообще исправит?
0 |
Alex77755 11482 / 3773 / 677 Регистрация: 13.02.2009 Сообщений: 11,147 |
||||||||
13.12.2014, 23:34 |
2 |
|||||||
Добавлено через 2 минуты
1 |
1 / 1 / 1 Регистрация: 16.05.2013 Сообщений: 240 |
|
13.12.2014, 23:54 [ТС] |
3 |
По второму вопросу: можно искать рядом с программой На этой строке выдает ошибку:
0 |
11482 / 3773 / 677 Регистрация: 13.02.2009 Сообщений: 11,147 |
|
14.12.2014, 00:02 |
4 |
А есть файл рядом с программой? Добавлено через 3 минуты
0 |
1 / 1 / 1 Регистрация: 16.05.2013 Сообщений: 240 |
|
14.12.2014, 00:07 [ТС] |
5 |
А есть файл рядом с программой? Да файл в той же папке
Сорри не APP надо Без app ищет файл в C:windowssystem32 Добавлено через 2 минуты
0 |
Alex77755 11482 / 3773 / 677 Регистрация: 13.02.2009 Сообщений: 11,147 |
||||
14.12.2014, 00:09 |
6 |
|||
Сообщение было отмечено gordan11 как решение Решение
Добавлено через 1 минуту
1 |
gordan11 1 / 1 / 1 Регистрация: 16.05.2013 Сообщений: 240 |
||||
14.12.2014, 00:15 [ТС] |
7 |
|||
APP это в бейсике. Проморгал, что не тот раздел Бывает Главное что помог. Спасибо файл открывает
0 |
Alex77755 11482 / 3773 / 677 Регистрация: 13.02.2009 Сообщений: 11,147 |
||||
14.12.2014, 00:18 |
8 |
|||
Что написал так и делает!
0 |
1 / 1 / 1 Регистрация: 16.05.2013 Сообщений: 240 |
|
14.12.2014, 00:21 [ТС] |
9 |
Ну как я понял это
Код Visual Basic открывает word в свернутом состоянии, а мне нужно открывать не в свернутом. Я наверное не правильно сформулировал вопрос)
0 |
Alex77755 11482 / 3773 / 677 Регистрация: 13.02.2009 Сообщений: 11,147 |
||||
14.12.2014, 00:57 |
10 |
|||
Я смоделировал ситуацию (правда из ексел, но это не важно)
И всё отрабатыватся
1 |
1 / 1 / 1 Регистрация: 16.05.2013 Сообщений: 240 |
|
14.12.2014, 11:40 [ТС] |
11 |
Я смоделировал ситуацию (правда из ексел, но это не важно) Понял)) Я пробовал вставлять только одну строку, когда вставил все три — Заработало)
0 |
1 / 1 / 1 Регистрация: 25.04.2015 Сообщений: 78 |
|
10.07.2015, 17:28 |
12 |
а как сделать чтоб открываемый файл запускался поверх всех окон
0 |
texnik-san шапоклякистка 8-го дня 3674 / 2234 / 391 Регистрация: 26.06.2015 Сообщений: 4,647 Записей в блоге: 1 |
||||
11.07.2015, 09:47 |
13 |
|||
а как сделать чтоб открываемый файл запускался поверх всех окон WD.Activate Добавлено через 2 минуты
0 |
1 / 1 / 1 Регистрация: 25.04.2015 Сообщений: 78 |
|
12.07.2015, 06:13 |
14 |
WD.Activate грубо говоря дописать… Спасибо работает
0 |
0 / 0 / 0 Регистрация: 27.11.2015 Сообщений: 5 |
|
15.06.2017, 08:32 |
15 |
Добрый день всем, Добавлено через 15 секунд
0 |
Juliya_pjv 0 / 0 / 0 Регистрация: 15.03.2018 Сообщений: 2 |
||||
15.03.2018, 14:20 |
16 |
|||
Здравствуйте! Использовала для запуска Word макрос, который предложил автор темы:
Но возникла проблема. Файлы Word содержат слияние с базой данных. По кнопке мне нужно их просто открыть с сохранением слияния. Но, к сожалению, слияние сбрасывается и в открывшемся файле снова приходится открывать источник записей. Помогите, пожалуйста, как сделать чтобы слияние при открытие из Access сохранялось в файлах Word.
0 |
Модератор 11343 / 4661 / 749 Регистрация: 07.08.2010 Сообщений: 13,512 Записей в блоге: 4 |
|
15.03.2018, 14:45 |
17 |
Помогите, пожалуйста, как сделать чтобы слияние при открытие из Access сохранялось в файлах Word. а зачем вам слияние, если запускаете из аксесс в аксессе сделайте ленточную форму
0 |
0 / 0 / 0 Регистрация: 15.03.2018 Сообщений: 2 |
|
16.03.2018, 08:38 |
18 |
Так слишком много всего переделывать придется.
0 |
Модератор 11343 / 4661 / 749 Регистрация: 07.08.2010 Сообщений: 13,512 Записей в блоге: 4 |
|
16.03.2018, 09:34 |
19 |
выложите пример базы и шаблона(со слиянием) Добавлено через 2 минуты
Так слишком много всего переделывать придется. глаза боятся а руки делают
0 |
I’m using Access 2013 and created a help button on a form that I would like to open up a Word doc with instructions. Here’s the code I tried:
Private Sub cmdHelp_Click()
Dim wrdApp As Word.Application
Dim wrdDoc As Word.Document
Dim filepath As String
Set wrdApp = CreateObject("Word.Application")
wrdApp.Visible = True
filepath = "C:...Handout.docx"
Set wrdDoc = wrdApp.Documents.Open(filepath)
End Sub
The problem is, when I try to compile I get an error on the first line that says «User-defined type not defined»
asked Jul 31, 2013 at 14:23
4
Please check if you set appropriate reference to Word Library in VBA Environment.
To do so follow the path:
Go to VBA Editor >> Menu >> Tools >> References >>
Find on the list Microsoft Word XX.X Object Library where
XX.X is the highest available number >>
Check it >> press OK.
answered Aug 1, 2013 at 19:53
Kazimierz JaworKazimierz Jawor
18.8k7 gold badges35 silver badges55 bronze badges
1
Wouldn’t be easier just to do:
Shell "winword ""c:...Handout.docx"""
… instead of creating an object just to open the application?
answered Jul 31, 2013 at 20:24
This MSAccess tutorial explains how to open a Microsoft Word document from within Access 2003 (with step-by-step instructions).
Question: How can I open a particular Microsoft Word document from an Access 2003/XP/2000/97 database?
For example, I have a filed called «Doc1.doc» that I want to open. How can I do this?
Answer: From your Access database, you can open any Word document that you wish.
The following VBA code would open a document called «Doc1.doc» from Access. This file can be found under the following path: «c:Doc1.doc».
Private Sub Command1_Click() Dim LWordDoc As String Dim oApp As Object 'Path to the word document LWordDoc = "c:Doc1.doc" If Dir(LWordDoc) = "" Then MsgBox "Document not found." Else 'Create an instance of MS Word Set oApp = CreateObject(Class:="Word.Application") oApp.Visible = True 'Open the Document oApp.Documents.Open filename:=LWordDoc End If End Sub
In this example, we’ve created a button called Command1. When the user clicks this button, the VBA code will open a session of Microsoft Word and display the Word document called «Doc1.doc».
This MSAccess tutorial explains how to launch Microsoft Excel from Access.
This MSAccess tutorial explains how to launch Notepad from Access.
This MSAccess tutorial explains how to launch any application from Access.
Формулировка задачи:
Здравствуйте, подскажите как сделать, или в каком направлении гуглить. Мне нужно запусть макрос в access, который открывает файл word. На просторах интернета нашел код.
Он запускает Word документ но:
- Word свернут
- Нужно указывать полный путь к файлу
Как можно исправить эти «но», и можно ли их вообще исправит?
Код к задаче: «Из Access открыть файл Word, развернув окно на полный экран. Путь к файлу указать относительно файла Access»
textual
FileName:=CurrentProject.Path & "1.doc"
Полезно ли:
6 голосов , оценка 4.333 из 5
Содержание
- 1 Add a word document
- 2 Close a document
- 3 Generating Word ata from an Excel VBA program
- 4 Load contact table from Access and create letter in Word
- 5 Open an Existing Document
- 6 Save a document
- 7 Save Changes to a Document
- 8 To close a specific document, you can close the active document or you can specify a document name:
- 9 To create a new document that uses a specific template, use this:
- 10 To save a document with a new name, use the SaveAs method
Add a word document
<source lang="vb">
Sub wordDoc()
Dim WordApp As Object Set WordApp = CreateObject("Word.Application") With WordApp .Documents.Add End With
End Sub
</source>
Close a document
<source lang="vb">
Sub exitFor()
Dim Doc As Document For Each Doc In Documents If Doc.Name = "Document1" Then Exit For Doc.Close Next Doc
End Sub
</source>
Generating Word ata from an Excel VBA program
<source lang="vb">
Sub MakeMemos()
Dim WordApp As Object Set WordApp = CreateObject("Word.Application") For i = 1 To 3 Application.StatusBar = "Processing Record " & i SaveAsName = ThisWorkbook.Path & "test.doc" With WordApp .Documents.Add With .Selection .Font.Size = 14 .Font.Bold = True .ParagraphFormat.Alignment = 1 .TypeText Text:="M E M O R A N D U M" .TypeParagraph .TypeParagraph .Font.Size = 12 .ParagraphFormat.Alignment = 0 .Font.Bold = False .TypeText Text:="Date:" & vbTab & Format(Date, "mmmm d, yyyy") .TypeParagraph .TypeText Text:="To:" & vbTab & " Manager" .TypeParagraph .TypeText Text:="From:" & vbTab & _ Application.userName .TypeParagraph .TypeParagraph .TypeText "text" .TypeParagraph .TypeParagraph .TypeText Text:="Units Sold:" & vbTab & "asdf" .TypeParagraph .TypeText Text:="Amount:" & vbTab & Format(1000, "$#,##0") End With .ActiveDocument.SaveAs FileName:=SaveAsName .ActiveWindow.Close End With Next i WordApp.Quit Set WordApp = Nothing Application.StatusBar = "" MsgBox " memos were created and saved in " & ThisWorkbook.Path
End Sub
</source>
Load contact table from Access and create letter in Word
<source lang="vb">
Sub ControlWord()
Dim objWord As New Word.Application Dim rsContacts As New ADODB.Recordset Dim strLtrContent As String rsContacts.ActiveConnection = CurrentProject.Connection rsContacts.Open "tblContacts" objWord.Documents.Add Do While Not rsContacts.EOF strLtrContent = rsContacts("FirstName") & " " & rsContacts("LastName") strLtrContent = strLtrContent & rsContacts("Address") & vbCrLf strLtrContent = strLtrContent & rsContacts("City") & ", " & rsContacts("Region") strLtrContent = strLtrContent & " " & rsContacts("PostalCode") strLtrContent = strLtrContent & "Dear " & rsContacts("FirstName") & " " strLtrContent = strLtrContent & rsContacts("LastName") & ":" objWord.Selection.EndOf objWord.Selection.Text = strLtrContent objWord.Selection.EndOf objWord.Selection.InsertBreak rsContacts.MoveNext Loop objWord.Visible = True objWord.PrintPreview = True
End Sub
</source>
Open an Existing Document
<source lang="vb">
Sub Main()
Dim wdApp As Word.Application Set wdApp = GetObject(, "Word.Application") wdApp.Documents.Open Filename:="C:Arrays.docx", ReadOnly:=True, AddtoRecentFiles:=False
End Sub
</source>
Save a document
<source lang="vb">
Sub WordLateBound()
Dim objWord As Object Dim objDoc As Object Set objWord = CreateObject("Word.Application") Set objDoc = objWord.Documents.Add objDoc.SaveAs "C:testdoc2.doc" objDoc.Close Set objDoc = Nothing Set objWord = Nothing
End Sub
</source>
Save Changes to a Document
<source lang="vb">
Sub main()
Dim wdApp As Word.Application Set wdApp = GetObject(, "Word.Application") wdApp.Documents.Save
End Sub
</source>
To close a specific document, you can close the active document or you can specify a document name:
<source lang="vb">
Sub main()
Dim wdApp As Word.Application Set wdApp = GetObject(, "Word.Application") wdApp.ActiveDocument.Close "or wdApp.Documents("Arrays.docx").Close
End Sub
</source>
To create a new document that uses a specific template, use this:
<source lang="vb">
Sub add()
Dim wdApp As Word.Application Set wdApp = GetObject(, "Word.Application") wdApp.Documents.Add Template:="Contemporary Memo.dot"
End Sub
</source>
To save a document with a new name, use the SaveAs method
<source lang="vb">
Sub Main()
Dim wdApp As Word.Application Set wdApp = GetObject(, "Word.Application") wdApp.ActiveDocument.SaveAs "C:MemoTest.docx"
End Sub
</source>