Frage : Zugang 2003 - Wort 2003 - eine Frage über Code haben, der arbeitet, um Doc. als pdf-Akte zu speichern…

Hallo ist EE,

Below im Codefenster die Logik, zum sich durch ein recordset
zu schlingen herstellen eine Seite für jedes vorgewählte student
(abgehakt vom Benutzer auf einem Schirm)
außer dem gesamten Doc. zum pdf

problem: das
am, welches 2 das students
am 2 Seiten im Wort doc
-but-
richtig produzierend das pdf vorwählt, hat ein Extrafreier raum 3. page

do, das Sie jede mögliche Idee haben, warum ich eine Leerseite am Ende habe?

(wenn ich manuell ein ctl+p im Wort Doc. tue und Ziegelsteindrucker wähle, erhält das pdf richtig
erzeugt als Seite 2),

tx für Ihre Ideen und Rat, sandra
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
6:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
225:
226:
227:
228:
229:
230:
231:
232:
233:
234:
235:
236:
237:
238:
239:
240:
241:
242:
243:
244:
245:
246:
247:
248:
249:
250:
251:
252:
253:
254:
255:
256:
257:
258:
259:
260:
261:
262:
263:
264:
265:
266:
267:
268:
269:
270:
271:
272:
273:
274:
275:
276:
277:
278:
279:
280:
281:
282:
283:
284:
285:
286:
287:
288:
289:
290:
291:
292:
293:
294:
295:
296:
297:
298:
299:
300:
301:
302:
303:
304:
305:
306:
307:
308:
309:
310:
311:
312:
313:
314:
315:
316:
317:
318:
319:
320:
321:
322:
323:
324:
325:
326:
327:
328:
329:
330:
331:
332:
333:
334:
335:
336:
337:
338:
339:
340:
341:
342:
343:
344:
345:
346:
347:
348:
349:
Option vergleichen Datenbank

Wahl ausdrücklich
 
Allgemeines VorcmdWordEvaluations_Click_CHECKBOXES (strTableName_Students als Schnur, _
                                              strBackLabelStatus, wie Boolesch)
Auf Störung Goto- ErrorHandler

'Gegenstände

Schwaches appWord als Word.Application
Schwache wdDocs als Word.Documents
Schwaches wdDoc als Word.Document

Schwaches wdImage als Gegenstand
Schwaches wdTable als Word.Table

Schwache wdPrps als Gegenstand
Schwaches wdPrp als Gegenstand

Schwaches DB als DAO.Database
Schwaches rst als DAO.Recordset

Schwaches objPDF_Distiller als PdfDistiller

'Schnüre
Schwaches strBackSql als Schnur
Schwaches strTest als Schnur
Schwaches strImageFile als Schnur
Schwaches strSubPDFFolder als Schnur

Schwaches strTitleName als Schnur

Schwaches strWordSourceFile als Schnur
Schwaches strWordBlankFile als Schnur
Schwaches strWordResultFile als Schnur

Schwaches strPDFfile als Schnur
Schwaches strPSfile als Schnur
Schwaches strLOGfile als Schnur

Schwaches strSourceFullPath als Schnur
Schwaches strBlankFullPath als Schnur
Schwaches strResultFullPath als Schnur

Schwaches strMsg als Schnur
Schwaches strrst als Schnur

'sehnt sich
Schwaches lngCount als lang
Schwaches lngResponse als lang
Schwaches lngWordCount als lang
Schwaches lngBegCount als lang
Schwaches lngBackRowCount als lang
Schwache lngPos als lang
Schwaches lngResult als lang
Schwache lngTablePos als lang

'ganze Zahlen
Schwaches intTableCount als ganze Zahl 'GLS
Schwaches intRecordNumber als ganze Zahl 'GLS


'booleans
Schwaches blnBackGoodIO, wie Boolesch


Einstellen DB = CurrentDb ()
'=================================================
'Rückholmsgbox der Zahl der überprüften Kursteilnehmer ermittelte
'=================================================

Anruf q823_Select_Table_Students_COUNT_Checkboxes _
                                    (strTableName_Students, _
                                     blnBackGoodIO, _
                                     lngBackRowCount)
Debug.Print lngBackRowCount 'Recordset.Fields („ROWCOUNT“) ist die Zahl Reihen…

Wenn lngBackRowCount = 0 dann
   MsgBox „keine zu verarbeiten Kursteilnehmer“
   Goto- finishup
Sonst
    strMsg = lngBackRowCount u. _
                  „Auswertungs-Reports, die senden zum Wort“
    strBackLabelStatus = richten aus
    lngResponse = MsgBox (strMsg, vbInformation + vbOKCancel + vbDefaultButton1, _
                         „Bitte geraten sein… ")
    Wenn lngResponse = vbCancel dann
        strBackLabelStatus = falsch
        Goto- finishup
    Beenden wenn
 Beenden wenn
 
'============================
'Rekordquelle einstellen, um überprüfte Kursteilnehmer zurückzuholen
'============================

Anruf q925_set_sql_rst_CHECKBOXES _
                           (strTableName_Students, _
                            strBackSql)
Rst = db.OpenRecordset (strBackSql) einstellen
strrst = „y“

'============================
'Das zurückzuholende Wort wdDoc berechnen und es öffnen
'============================

'Wort wdDoc Namen einstellen

'Anmerkung: wenn Sie Eigenschaften der FELDER Doc. ändern, als FELDER Doc. kopieren, um Doc. zu prüfen
'alles aus Test Doc. und dann außer ihm als UNBELEGTES Doc. löschen

strWordSourceFile = „xxTemplate_Electives_EvaluationForm_FIELDS.doc“
 strWordBlankFile = „xxTemplate_Electives_EvaluationForm_BLANK.doc“

strSourceFullPath = CurrentProject.Path u. „\“ u. strWordSourceFile
strBlankFullPath = CurrentProject.Path u. „\“ u. strWordBlankFile

strSubPDFFolder = „Evaluation_ for_Clerkship“
Debug.Print „Öffnungsdokument basiert auf strTemplate: “ u. strSourceFullPath

'Geöffnetes Wort
appWord = GetObject (, „Word.Application“) einstellen
appWord.Visible = richten aus
   
wdDocs = appWord.Documents einstellen

'Geöffnete unbelegte „Schablonen“ Akte
wdDocs.Open strBlankFullPath

wdDoc = appWord.ActiveDocument einstellen


'====
   'Durch die Tabelle schlingen und jede Aufzeichnung in Wort exportieren
   'http://www.experts-exchange.com/Software/Office_Productivity/Office_Suites/MS_Office/Word/Q_21152049.html?sfQueryTermInfo=1+selection.inlineshapes.addpictur
   'http://www.experts-exchange.com/Software/Office_Productivity/Office_Suites/MS_Office/Word/Q_23785214.html?sfQueryTermInfo=1+cell+popul+tabl+word
   
Bis rst.EOF tun
    intRecordNumber = intRecordNumber + 1
    strTitleName = rst! S_Title
    
    'Seitenende nach Seite 1 einsetzen
    Wenn intRecordNumber > 1 dann
        wdDoc.Bookmarks („\ EndOfDoc“). Range.InsertBreak wdSectionBreakNextPage
    Beenden wenn
    
    'Ausgangsdokument in unbelegtes Doc. einsetzen
    wdDoc.Bookmarks („\ EndOfDoc“). Range.InsertFile strSourceFullPath 'GLS
        
    'Zahl der Tabellen im Dokument auf der ersten Seite berechnen
    Wenn intRecordNumber = 1 dann 'GLS
        intTableCount = wdDoc.Tables.Count 'GLS
        
        Debug.Print wdDoc.Tables.Count 'GLS
    Beenden wenn 'GLS
    
    Debug.Print rst! S_Lname u. „„u. rst! S_Fname; “ „u. rst! S_Id
     

    '======================
    'Anzeige Eigenschaften zu den Prüfungszwecken
    '======================

    wdPrps = wdDoc.CustomDocumentProperties 'GLS einstellen
    Für jedes wdPrp in den wdPrps
       Debug.Print wdPrp.Name u. „: “ u. wdPrp.Value
    Zunächst
    
    '======================
    'Eigenschaften und Updatedokument bevölkern
    '======================
    Mit wdPrps
        . Einzelteil („w_a_StudentName“). Wert = rst! S_Lname u.“, „u. rst! S_Fname
        . Einzelteil („w_b_Subject“). Wert = rst! S_Subject
        . Einzelteil („w_c_CourseTitle“). Wert = rst! S_Title
        . Einzelteil („w_d_CourseNumber“). Wert = rst! S_Course_Number
        . Einzelteil („w_e_CAD“). Wert = rst! S_Advisor_Lname u.“, „u. rst! S_Advisor_Fname
        . Einzelteil („w_f_StartDate“). Wert = rst! S_StartDate
        . Einzelteil („w_g_EndDate“). Wert = rst! S_EndDate
        
        . Einzelteil („w_h_InstructorName“). Wert = rst! S_Instructor_Fname u.“ „u. rst! S_Instructor_Lname
        . Einzelteil („w_i_StreetLine1“). Wert = rst! S_street1
        . Einzelteil („w_j_StreetLine2“). Wert = rst! S_street2
       '. Einzelteil („w_k_StreetLine3“). Wert = rst! S_street3
        . Einzelteil („w_l_City“). Wert = rst! S_city
        . Einzelteil („w_m_State“). Wert = rst! S_state
        . Einzelteil („w_n_Zip“). Wert = rst! S_zip
        . Einzelteil („w_o_CRN“). Wert = rst! S_CRN

        
    Ende mit
    
    '======================
    'Eigenschaften aktualisieren und in Text umwandeln, damit Stützen nicht Re-modernisiert sein können
    '======================
    
    wdDoc.fields.Update 'GLS
    wdDoc.fields.Unlink 'GLS Bekehrtfelder zum Text
        
    '========================
    'Position zum ersten Element der Tabelle, zum der Abbildung einzusetzen
    '========================
    'in der Linie Bild hinzufügen
    
    
    strImageFile = „O:\COM Photos\MED Pics-Fahne \“ u. _
                         rst! S_Id u. „.jpg“
    
    Wenn dir (strImageFile) <> "" dann
    Sonst
       strImageFile = „O:\COM Photos\MED Pics-Fahne \“ u. _
                         „a_missingPhoto.jpg“
    Beenden wenn

                         
    'http://www.experts-exchange.com/Microsoft/Development/MS_Access/Access_Coding-Macros/Q_23702385.html?sfQueryTermInfo=1+cell+imag+insert+tabl+word
    
'Tabellenposition für neue Seite berechnen, andernfalls wird halten, Abbildung in einzusetzen
'die erste Tabelle auf der ersten Seite

     lngTablePos = 1 + intTableCount * (intRecordNumber - 1)

    
     Gesetztes wdTable = wdDoc.Tables (lngTablePos) 'GLS
    
'Abbildung in das 1. Element der Tabelle einsetzen
     wdDoc.Range.InlineShapes.AddPicture strImageFile, _
                                        Falsch, zutreffend, wdTable.Cell (1, 1).Range
                                            
nextrec:

    rst.MoveNext

Schleife
   
'======================
'außer als Akte des Wortes Doc.
'======================

strWordResultFile = Format (Datum, „YYYY_MM_DD“) u.“ _ „u. strTitleName u.“ .doc "
                   
strResultFullPath = CurrentProject.Path u. „\“ u. strWordResultFile

'* die vorhandene Akte löschen
Wenn dir (strResultFullPath) <> "" dann
  Tötung (strResultFullPath)
Beenden wenn

wdDoc.SaveAs strResultFullPath

'=========================
'außer als pdf-Akte, wenn Adobe auf dem PC ist
'=========================
Wenn IsAdobeInstalled = dann ausrichten

'außer Rückstellungsdruckereinstellungen
   pg_strDefaultPrinter = appWord.ActivePrinter
    
'PS, MASCHINENBORDBUCH, pdf-Aktennamen verursachen vom Excel-Dateinamen
   lngPos = InStr (strResultFullPath, „.")
   strPSfile = verließ (strResultFullPath, lngPos) u. „ps“
   strLOGfile = verließ (strResultFullPath, lngPos) u. „Maschinenbordbuch“
   strPDFfile = verließ (strResultFullPath, lngPos) u. „pdf“
    
   Debug.Print strPSfile
   Debug.Print strLOGfile
   Debug.Print strPDFfile
    
'Übersteuerungsrückstellungsdrucker mit Adobe-Drucker
   appWord.ActivePrinter = „Adobe pdf auf LPT2: “
    
'sich erinnern einzustellen:   Werkzeug-/Bezugsseiltänzerdestillierapparat
    

  objPDF_Distiller einstellen = neues PdfDistiller
      
'Druck ist wirklich ein Export zu pdf
    
  appWord.PrintOut, Kopien: =1, _
                 PrintToFile: =True, OutputFileName: =strPSfile
     
'Bekehrt-Seiltänzer PS-Akte zur pdf-Akte
   lngResult = objPDF_Distiller.FileToPDF (strPSfile, strPDFfile, "")
    
'LöschungArbeitsdateien
   Tötung strPSfile
   Tötung strLOGfile
    
   objPDF_Distiller einstellen = nichts
                                      
'Die Rückstellungsdruckereinstellungen wieder herstellen
   appWord.ActivePrinter = pg_strDefaultPrinter

Beenden wenn

wdDoc.Close savechanges: =False
appWord.Quit

finishup:
Wenn strrst = „y“ dann
   rst. Abschluss
Beenden wenn

DB. Schließen

appWord einstellen = nichts
wdDocs einstellen = nichts
wdDoc einstellen = nichts

wdImage einstellen = nichts
wdTable einstellen = nichts

wdPrps einstellen = nichts
wdPrp einstellen = nichts

objPDF_Distiller einstellen = nichts

Einstellen DB = nichts
Rst einstellen = nichts


ErrorHandlerExit:
   Unterseeboot herausnehmen
ErrorHandler:
   Wenn = 429 dann sich irren
      'Wort läuft nicht; Wort mit CreateObject öffnen
      appWord = CreateObject („Word.Application“) einstellen
      Zunächst wieder aufnehmen
   Sonst
      MsgBox „Störungs-Nr.: “ U. Err.Number u. „; Beschreibung: “ U. Err.Description
      Zusammenfassung ErrorHandlerExit
   Beenden wenn
Unterseeboot beenden


Allgemeine Funktion IsAdobeInstalled () wie Boolesch
Schwaches strTemp als Schnur

IsAdobeInstalled = falsch

strTemp = dir („C:\Program Files\Adobe\acrobat *“, vbDirectory)

Bis strTemp = "" tun
   IsAdobeInstalled = richten aus
   strTemp = dir ()
Schleife

Enden-Funktion

Antwort : Zugang 2003 - Wort 2003 - eine Frage über Code haben, der arbeitet, um Doc. als pdf-Akte zu speichern…

Ja wenn Sie Bild einstellen, können Sie die, Größe einzustellen versuchen.  Ich denke, dass der Code mit zwei Linien für Bearbeiten angebracht:
    ActiveSheet.Pictures.Insert („F:\Users\DDaneke\Pictures\DSC00059.jpg ").Select
    Selection.ShapeRange.Height = 144
    Selection.ShapeRange.ScaleHeight 0.1, msoFalse, msoScaleFromTopLeft

HÖHE einstellt die Größe, SCALEHEIGHT ist ein Prozentsatz t. - Auswahl eine, zum für Sie zu arbeiten.
1:
2:
3:
ActiveSheet.Pictures.Insert („Filename.jpg“). Auserwählt
    Selection.ShapeRange.Height = 144
    Selection.ShapeRange.ScaleHeight 0.1, msoFalse, msoScaleFromTopLeft
Weitere Lösungen  
 
programming4us programming4us