<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Серый форум &mdash; AHK: Вставка файла в MS Word 2010]]></title>
	<link rel="self" href="https://forum.script-coding.com/extern.php?action=feed&amp;tid=11656&amp;type=atom" />
	<updated>2016-05-31T22:21:01Z</updated>
	<generator>PunBB</generator>
	<id>https://forum.script-coding.com/viewtopic.php?id=11656</id>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Вставка файла в MS Word 2010]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=104514#p104514" />
			<content type="html"><![CDATA[<p><strong>viktreee</strong><br />Для этих вещей существуют свои VBA-макросы.<br />Нажимаем &quot;Запись макроса&quot;, именуем <em>AttachFile</em>, назначаем хоткей, останавливаем запись.<br />Выбираем в <em>Макросах</em> наш, жмём <em>Изменить</em> и вместо нашей процедуры вставляем с сохранением по Ctrl+S эту:<br /></p><div class="codebox"><pre><code>Sub AttachFile()
  With Application.FileDialog(msoFileDialogFilePicker)
    .Title = &quot; Вставка файлов в виде значков&quot;
    .InitialFileName = GetSetting(Application.Name, &quot;GetFilePath&quot;, &quot;folder&quot;, &quot;C:\&quot;)
    .Filters.Clear: .Filters.Add &quot;Все файлы Word &quot;, _
    &quot;*.docx;*.docm;*.dotx;*.doc;*.dot;*.htm;*.html;*.txt;*.rtf;*.mht;*.mhml;*.xml;*.odt;*.pdf&quot;
    If .Show &lt;&gt; -1 Then Exit Sub
    For Each F In .SelectedItems
      Selection.InlineShapes.AddOLEObject ClassType:=&quot;Package&quot;, FileName:=F, LinkToFile:=False, _
      DisplayAsIcon:=True, IconFileName:=&quot;C:\Windows\system32\packager.dll&quot;, _
      IconIndex:=0, IconLabel:=Mid(F, InStrRev(F, &quot;\&quot;) + 1)
    Next
    SaveSetting Application.Name, &quot;GetFilePath&quot;, &quot;folder&quot;, Left(.SelectedItems(1), InStrRev(.SelectedItems(1), &quot;\&quot;))
  End With
End Sub</code></pre></div>]]></content>
			<author>
				<name><![CDATA[Flasher]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=27593</uri>
			</author>
			<updated>2016-05-31T22:21:01Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=104514#p104514</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Вставка файла в MS Word 2010]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=104512#p104512" />
			<content type="html"><![CDATA[<p>Попробуйте так:<br /></p><div class="codebox"><pre><code>#If WinActive(&quot;ahk_class OpusApp&quot;)
F11:: InsertFileIntoWord()
#If

InsertFileIntoWord()  {
	ControlGet, ControlHwnd, Hwnd,, _WwG1, % &quot;ahk_id&quot; WinExist(&quot;A&quot;)
	accobj := AccObjectFromWindow(ControlHwnd, -16)
	oWord := accobj.Application
	dialog := oWord.FileDialog(msoFileDialogFilePicker := 3)
	if dialog.Show()  {
		FilePath := dialog.SelectedItems(1)
		SplitPath, FilePath, FileName
		dialog := oWord.Dialogs(wdDialogInsertObject := 172)
		for k, v in { DisplayIcon: 1, IconFileName: &quot;C:\Windows\system32\packager.dll&quot;
						, IconNumber: 1, FileName: FilePath, Caption: FileName, tab: 1 }
			dialog[k] := v
		dialog.Execute()
	}
}

AccObjectFromWindow(hWnd, idObject = 0)
{
	static IID_IDispatch	  := &quot;{00020400-0000-0000-C000-000000000046}&quot;
		  , IID_IAccessible := &quot;{618736e0-3c3d-11cf-810c-00aa00389b71}&quot;
		  , OBJID_NATIVEOM := 0xFFFFFFF0, VT_DISPATCH := 9, h := DllCall(&quot;LoadLibrary&quot;, Str, &quot;oleacc&quot;, Ptr)
        
	VarSetCapacity(IID, 16), idObject &amp;= 0xFFFFFFFF
	DllCall(&quot;ole32\CLSIDFromString&quot;, Str, idObject = OBJID_NATIVEOM ? IID_IDispatch : IID_IAccessible, Ptr, &amp;IID)
   if DllCall(&quot;oleacc\AccessibleObjectFromWindow&quot;, Ptr, hWnd, UInt, idObject, Ptr, &amp;IID, PtrP, pAcc) = 0
		Return ComObjEnwrap(VT_DISPATCH, pAcc, 1)
}</code></pre></div>]]></content>
			<author>
				<name><![CDATA[teadrinker]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=24515</uri>
			</author>
			<updated>2016-05-31T21:09:52Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=104512#p104512</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Вставка файла в MS Word 2010]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=104497#p104497" />
			<content type="html"><![CDATA[<p><strong>ypppu</strong><br />Извините, спасибо!</p>]]></content>
			<author>
				<name><![CDATA[viktreee]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=33922</uri>
			</author>
			<updated>2016-05-31T16:12:01Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=104497#p104497</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: AHK: Вставка файла в MS Word 2010]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=104496#p104496" />
			<content type="html"><![CDATA[<p><span style="color: green"><strong>viktreee</strong>, в заголовке должен быть префикс скриптового языка.</span></p>]]></content>
			<author>
				<name><![CDATA[ypppu]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=5974</uri>
			</author>
			<updated>2016-05-31T16:06:18Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=104496#p104496</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[AHK: Вставка файла в MS Word 2010]]></title>
			<link rel="alternate" href="https://forum.script-coding.com/viewtopic.php?pid=104495#p104495" />
			<content type="html"><![CDATA[<p>По работе приходится очень много пользоваться функцией вставки объекта в документ, сам хоть и читаю справку по AutoHotKey думаю что не осилю написание такого кода. С горем пополам получилось &quot;mute&quot; забиндить xD.<br />Итак, что нужно:<br />в MS Word нажимаем кнопку &quot;объект&quot;, которая находится на вкладке &quot;вставить&quot; --&gt; в появившемся окне переключаемся на вкладку &quot;создание из файла&quot; --&gt; там ставим галочку &quot;в виде значка&quot; --&gt; нажимаем кнопку &quot;обзор&quot;, появляется окно выбора файла.<br />Вот нужно чтобы по нажатию клавиши или сочетания клавиш, что предпочтительнее, появлялось сразу окно выбора файла, а все предыдущие действия выполнялись автоматически.<br />Может быть кто-нибудь сможет мне с этим помочь или хотя бы подтолкнуть в правильную сторону, буду очень признателен!</p>]]></content>
			<author>
				<name><![CDATA[viktreee]]></name>
				<uri>https://forum.script-coding.com/profile.php?id=33922</uri>
			</author>
			<updated>2016-05-31T15:31:27Z</updated>
			<id>https://forum.script-coding.com/viewtopic.php?pid=104495#p104495</id>
		</entry>
</feed>
