home *** CD-ROM | disk | FTP | other *** search
/ Installer 5.00 - Please Dont Remove it From My Bag / 060126_0945.iso / CAMIPRO3 / MACROS.CMZ / CROSSREF.SMM < prev    next >
Encoding:
INI File  |  1994-08-14  |  6.1 KB  |  442 lines

  1. [ver]
  2.     4
  3. [sty]
  4.     _macro.sty
  5. [files]
  6. [charset]
  7.     82
  8.     CHINESEBIG5 (Windows)
  9. [revisions]
  10.     0
  11. [prn]
  12.     PostScript Printer
  13. [port]
  14.     LPT1:
  15. [lang]
  16.     1
  17. [desc]
  18.     ªbñ╓⌐≤ 8 ¡╙└╔«╫¬║ñσÑ≤▓╒└╔«╫╢ííA▓úÑ═ѵñ¼░╤ª╥╕Ω«╞íC
  19.     Lotus Word Processing Division
  20.     Advanced
  21.     FileOpen, MasterDocument
  22.     noautorun
  23.     773100974
  24.     38
  25.     672617318
  26.     409
  27.     2
  28.     325
  29.     2164
  30.     5
  31.     7
  32.     
  33.     
  34.     
  35.     
  36.     
  37.     
  38.     0
  39. [fopts]
  40.     0
  41.     1
  42.     0
  43.     0
  44. [lnopts]
  45.     2
  46.     Body Text
  47.     1
  48. [docopts]
  49.     5
  50.     2
  51. [GramStyle]
  52.     
  53. [ParaNum]
  54.     1
  55. [l1]
  56.     0
  57. [pg]
  58.     2
  59.     45 0 12 0 0 1 0 65535 65535 Standard    65535 0 0    0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
  60.     91 0 12 1025 0 0 0 65535 65535 Standard    65535 0 0    0 0 0 0 0 0 0 65535 0 0 65535 0 0 0 0 0
  61. [edoc]
  62. <+@><:#284,9025>' Xref - cross reference between files in a master document. Because the field
  63.  
  64. <+@><:#568,9025>'"Pageref" can only work with bookmarks in  the current file, when you need the page
  65.  
  66. <+@><:#284,9025>'number of  a bookmark in another file, you can insert  the powerfield    
  67.  
  68. <+@><:#568,9025>'getglobalvar$("BookmarkName")  after running this macro.  (Insert the name of  your
  69.  
  70. <+@><:#284,9025> 'bookmark in place of BookmarkName.) 
  71.  
  72. <+@><:#284,9025>'
  73.  
  74. <+@><:#284,9025>'This macro will run through all files in the master, and for each bookmark it will
  75.  
  76. <+@><:#568,9025> 'determine the actual page number, then create a global variable by that same name,
  77.  
  78. <+@><:#568,9025> 'and assign the  page number to it. Also the macro updates powerfields previously
  79.  
  80. <+@><:#284,9025> 'inserted 
  81.  
  82. <:#284,9025>
  83.  
  84. <:#284,9025>'This version is limited to 9 files
  85.  
  86. <:#284,9025>
  87.  
  88. <:#284,9025>Declare DebugArray(Array)
  89.  
  90. <:#284,9025>define IsOKToRun(menuname)    GetInfo(217, 24, %1);
  91.  
  92. <:#284,9025>
  93.  
  94. @Function@<:#293,9025>FUNCTION Xref()
  95.  
  96. <:#284,9025>IF IsNewWave()
  97.  
  98. <:#284,9025>    Message("Macro not available while running under HP NewWave.")
  99.  
  100. <:#284,9025>    Exit Function
  101.  
  102. <:#284,9025>ENDIF
  103.  
  104. @Subhead@<:#284,9025>result=IsOKToRun(SaveAs)
  105.  
  106. @Subhead@<:#284,9025>if result !=1 exit function
  107.  
  108. @Subhead@<:#284,9025>endif
  109.  
  110. <:#284,9025>defstr mascount;
  111.  
  112. <:#284,9025>totpages = 0
  113.  
  114. <:#284,9025>
  115.  
  116. <:#284,9025>if (0 = Assign(&mascount, GetMasterFilesCount()))
  117.  
  118. <:#284,9025>    message("Not a master document")
  119.  
  120. <:#284,9025>    return -1;
  121.  
  122. <:#284,9025>else
  123.  
  124. <:#284,9025>dim    masfiles(mascount)
  125.  
  126. <:#284,9025>GetMasterFiles(&masfiles)
  127.  
  128. <:#284,9025>DebugArray(&MasFiles)
  129.  
  130. <:#284,9025>mascount = arraysize(&masfiles)
  131.  
  132. <:#284,9025>for i = 1 to mascount    ' Generate left the last one up
  133.  
  134. <:#284,9025>ifopen = 0
  135.  
  136. <:#284,9025>    Count = GetOpenFileCount()
  137.  
  138. <:#284,9025>    IF Count <;> 0
  139.  
  140. <:#284,9025>    DIM Filess(Count)
  141.  
  142. <:#284,9025>    GetOpenFileNames(&Filess)
  143.  
  144. <:#284,9025>    FOR II = 1 to Count
  145.  
  146. <:#284,9025>    f = filess(II)
  147.  
  148. <:#284,9025>    if  f =  ucase$(masfiles(i)) and ifopen = 0 then
  149.  
  150. <:#284,9025>        ifopen = 1
  151.  
  152. <:#284,9025>    endif
  153.  
  154. <:#284,9025>    NEXT    
  155.  
  156. <:#284,9025>    endif
  157.  
  158. <:#284,9025>    if ifopen = 0 then
  159.  
  160. <:#284,9025>        FileOpen(masfiles(i), 1, "")
  161.  
  162. <:#284,9025>    else
  163.  
  164. <:#284,9025>    file = masfiles(i)
  165.  
  166. <:#284,9025>    selectwindow(file)
  167.  
  168. <:#284,9025>    endif
  169.  
  170. <:#284,9025>    DarkMode(1)
  171.  
  172. <:#284,9025>    type("<[>ctrlend]")    ' Force load to finish
  173.  
  174. <:#284,9025>    type("<[>ctrlhome]")    ' Back to the top for looks
  175.  
  176. <:#284,9025>    DarkMode(0)
  177.  
  178. <:#284,9025>    call CreateGlobals(totpages)
  179.  
  180. <:#284,9025>    totpages = totpages + evalfield("numpages")
  181.  
  182. <:#284,9025>    FieldUpdateAll()
  183.  
  184. <:#284,9025>next
  185.  
  186. <:#284,9025>endif
  187.  
  188. <:#284,9025>END FUNCTION
  189.  
  190. @Function@<:#293,9025>FUNCTION CreateGlobals(totpages)
  191.  
  192. <:#284,9025>defstr bookcnt
  193.  
  194. <:#284,9025>bookcnt = getbookmarkcount()
  195.  
  196. <:#284,9025>if  bookcnt = 0 
  197.  
  198. <:#284,9025>    return 0;    ' No bookmarks, fast exit here
  199.  
  200. <:#284,9025>else
  201.  
  202. <:#284,9025>dim booknames(bookcnt)
  203.  
  204. <:#284,9025>GetBookMarkNames(&booknames)
  205.  
  206. <:#284,9025>for i = 1 to bookcnt
  207.  
  208. <:#284,9025>    ' get the GetBookMarkPage returns the page number of the
  209.  
  210. <:#284,9025>    ' bookmark relative to this file, use PhysicalToLogical
  211.  
  212. <:#284,9025>    ' to the the logical page.  Then create a global var
  213.  
  214. <:#284,9025>    ' using the bookmark name, then assign that page number.
  215.  
  216. <:#284,9025>    page = totpages + getbookmarkpage(booknames(i))
  217.  
  218. <:#284,9025>    AllocGlobalVar(booknames(i), 1)    
  219.  
  220. <:#284,9025>    SetGlobalVar(booknames(i), page)
  221.  
  222. <:#284,9025>next
  223.  
  224. <:#284,9025>endif
  225.  
  226. <:#284,9025>END FUNCTION
  227.  
  228. <:#284,9025>
  229.  
  230. @Function@<:#293,9025>Function DebugArray(MasFiles)
  231.  
  232. <:#284,9025>Count = ArraySize(&MasFiles)
  233.  
  234. <:#284,9025>For t = 1 to count
  235.  
  236. <:#284,9025>    Info = *MasFiles(T)
  237.  
  238. <:#284,9025>    Message("{T} = {Info}")
  239.  
  240. <:#284,9025>Next
  241.  
  242. <:#284,9025>End Function
  243.  
  244. >
  245.  
  246. [Embedded]
  247. 00004654
  248. >
  249. [macsum] 3
  250. Xref 0 0 12 16
  251. CreateGlobals 966 1 5 64
  252. DebugArray 1285 1 4 84
  253. [macse]
  254. 14 Xref
  255. 0 1317
  256. 13
  257. 11 00000105
  258. 0 3 "Macro not available while running under HP NewWave."
  259. 6 0
  260. 15
  261. 9
  262. 0 1313 217 24 104
  263. 13
  264. 8 1
  265. 6 1
  266. 5 1
  267. 18 1
  268. 11 00000174
  269. 6 0
  270. 15
  271. 9
  272. 5 0
  273. 8 3
  274. 5 0
  275. 0 1047
  276. 13
  277. 0 805 &2 [X]
  278. 13
  279. 18 0
  280. 11 00000293
  281. 0 3 "Not a master document"
  282. 5 -1
  283. 15
  284. 9
  285. 10 00000954
  286. 6 2
  287. 21 4 [X]
  288. 0 1048 &4
  289. 16 DebugArray &4
  290. 0 1046 &4
  291. 13
  292. 8 2
  293. 5 1
  294. 8 5
  295. 6 2
  296. 6 5
  297. 18 2
  298. 12 00000442
  299. 10 00000954
  300. 5 1
  301. 6 5
  302. 3 0
  303. 8 5
  304. 10 00000367
  305. 5 0
  306. 8 6
  307. 0 1050
  308. 13
  309. 8 7
  310. 6 7
  311. 5 0
  312. 18 3
  313. 11 00000720
  314. 6 7
  315. 21 8 [X]
  316. 0 1051 &8
  317. 5 1
  318. 8 9
  319. 6 7
  320. 6 9
  321. 18 2
  322. 12 00000609
  323. 10 00000720
  324. 5 1
  325. 6 9
  326. 3 0
  327. 8 9
  328. 10 00000534
  329. 6 9
  330. 22 8
  331. 8 10
  332. 6 10
  333. 6 5
  334. 22 4
  335. 0 18 [X]
  336. 13
  337. 18 0
  338. 6 6
  339. 5 0
  340. 18 0
  341. 1 1
  342. 11 00000707
  343. 5 1
  344. 8 6
  345. 10 00000576
  346. 6 6
  347. 5 0
  348. 18 0
  349. 11 00000791
  350. 6 5
  351. 22 4
  352. 2 102 1 [X] 1 ""
  353. 10 00000822
  354. 6 5
  355. 22 4
  356. 8 11
  357. 0 796 "{11}"
  358. 0 292 1
  359. 0 6 "[16419]"
  360. 0 6 "[16420]"
  361. 0 292 0
  362. 16 CreateGlobals "{3}"
  363. 6 3
  364. 0 1289 "numpages"
  365. 13
  366. 3 0
  367. 8 3
  368. 2 267 1
  369. 10 00000409
  370. 6 0
  371. 15
  372. 9
  373. 14 CreateGlobals
  374. 0 1039
  375. 13
  376. 8 2
  377. 6 2
  378. 5 0
  379. 18 0
  380. 11 00000089
  381. 5 0
  382. 15
  383. 9
  384. 10 00000307
  385. 6 2
  386. 21 3 [X]
  387. 0 1040 &3
  388. 5 1
  389. 8 4
  390. 6 2
  391. 6 4
  392. 18 2
  393. 12 00000200
  394. 10 00000307
  395. 5 1
  396. 6 4
  397. 3 0
  398. 8 4
  399. 10 00000125
  400. 6 0
  401. 6 4
  402. 22 3
  403. 0 1049 [X]
  404. 13
  405. 3 0
  406. 8 5
  407. 6 4
  408. 22 3
  409. 0 271 [X] 1
  410. 6 4
  411. 22 3
  412. 0 264 [X] "{5}"
  413. 10 00000167
  414. 6 1
  415. 15
  416. 9
  417. 14 DebugArray
  418. 0 1046 &0
  419. 13
  420. 8 2
  421. 5 1
  422. 8 3
  423. 6 2
  424. 6 3
  425. 18 2
  426. 12 00000120
  427. 10 00000166
  428. 5 1
  429. 6 3
  430. 3 0
  431. 8 3
  432. 10 00000045
  433. 6 3
  434. 22 0
  435. 8 4
  436. 0 3 "{3} = {4}"
  437. 10 00000087
  438. 6 1
  439. 15
  440. 9
  441. 00004679
  442.