Hi. It's me again.
I've found the following at: http://www.oooforum.org/forum/viewtopic.phtml?t=24192&highlight=external+links ----- begin ---- Sub refreshAllSheetLinks() oEnum = thisComponent.AreaLinks.createEnumeration while oEnum.hasMoreElements oLink = oEnum.NextElement oLink.refresh wend oEnum = thisComponent.SheetLinks.createEnumeration while oEnum.hasMoreElements oLink = oEnum.NextElement oLink.refresh wend oEnum = thisComponent.DDELinks.createEnumeration while oEnum.hasMoreElements oLink = oEnum.NextElement oLink.refresh wend End Sub ----- end ---- With xray I've found that the oLink has also a method called "release" but whenever the macro reaches that statement, it says: "Propiedad o método no encontrado" In English should be something like: "Method or property not found" Does anybody has any idea of what is happening? or How could I break those links instead of "refresh" them? Thank you all in advance. 2008/10/13 Ely Schoenfeld <[EMAIL PROTECTED]> > My answers appear bellow. > > 2008/10/12 Andrew Douglas Pitonyak <[EMAIL PROTECTED]> > > Ely Schoenfeld wrote: >> >>> First of all, thank you for taking the time to answer. >>> >>> My answers appear later on. >>> >>> 2008/10/11 Andrew Douglas Pitonyak <[EMAIL PROTECTED]> >>> >>> >>> >>>> Ely Schoenfeld wrote: >>>> >>>> >>>> >>>>> Sorry, I forgot to add the question: >>>>> >>>>> Does some one knows how to delete the links to other documents from a >>>>> macro/function/button? >>>>> >>>>> Ely. >>>>> >>>>> >>>>> >>>>> >>>> Do you mean in a Calc document? >>>> >>>> >>>> >>> >>> Yes, I'm talking about the whole calc document. >>> >>> >>> >>> >>>> Do you mean for a specific Sheet? >>>> >>>> >>> >>> >>> See previous answer. >>> >>> >>> >>> >>>> If you call getLinkUrl() on the sheet in question, does it return >>>> something? >>>> >>>> >>> >>> >>> Well, the first time it returned the current file url, I mean the file >>> where >>> the tests where done, instead of the "remote" file. Then I closed and >>> opened again the document and now it's returning just the path to "My >>> documents" (very strange) >>> >>> >>> >>> >>>> Better yet, if you call getLinkMode(), what value is returned? >>>> >>>> >>>> >>> >>> It returns 0 (com.sun.star.sheet.SheetLinkMode.NONE) >>> >>> >>> >>> >>>> What happens if you call >>>> oSheet.setLinkMode(com.sun.star.sheet.SheetLinkMode.NONE)? >>>> >>>> >>>> >>> >>> It just changes the result of getLinkMode(), nothing else. I think it >>> establishes the "mode" for future copy/paste procedures. (Am I right?) >>> >>> I present the functions I used at the end of this message, just in case >>> someone else needs them. >>> >>> While I was looking for a way to delete the links to other documents from >>> a >>> macro, I found someone who wants to do the same: "DDE Refresh and clean >>> up" >>> at >>> >>> http://user.services.openoffice.org/en/forum/viewtopic.php?f=20&t=4076&p=49673#p49673 >>> >>> Someone redirected him to "Programming actions, where macro recorder and >>> API >>> fail" at >>> >>> http://www.oooforum.org/forum/viewtopic.phtml?t=22845&postdays=0&postorder=asc&start=0 >>> >>> The author of the second thread says: >>> >>> ----- begin ------- >>> The following describes a procedure to circumvent this problem. The basic >>> steps are >>> >>> (1) Create a TopWindowListener >>> (2) execute the dispatch >>> (3) the dispatch opens a new top window >>> (4) the top window listener is called >>> (5) inside the top window listener, the accessibility interface is used >>> to >>> execute the desired user interactions >>> (6) inside the top window listener, the dispatch dialog's OK Button is >>> pressed to terminate the dispatch >>> (7) the TopWindowListener is removed >>> ------ end ------- >>> >>> That is a great thing to know. My problem is that I haven't been able to >>> understand the use of the api documentation enough, so I cant figure out >>> how to modify the examples presented there, to my benefit. >>> >>> >> >> Um, you don't understand this method for the same reason that even >> advanced macro programmers shutter when they think about using this method >> to control OOo. I would describe this method as: >> >> Write code that directly manipulates OOo's native Dialogs and controls. >> Doing this requires a lot of information about these dialogs that is not >> published anywhere. The discovery process is error prone and causes OOo to >> lock. >> > > Yes, I understood that much. :) > > >> >> In other words, this is not what you want to learn. This method is only to >> be used as a last resort if you must solve a problem for which there is no >> other solution. I consider this about the same as using OOo to write a >> document with detailed instructions written on a piece of paper because your >> computer has no monitor. >> > > Ha ha ha,,, a very good example... hahaha. > > >> >> It is better if you are able to learn the native API. Unfortunately, there >> are a few things that are not possible with the current API (such as >> obtaining a list of available printers). >> >> Based on your previous answers, I am pretty sure that I am not >> understanding what it is that you desire to do. In other words, you have not >> created a linked sheet, because clearly you do not have a linked sheet. Your >> usage of the word link, mislead me (so to speak) :-) >> >> Are you using external data links? I am not really sure what you are doing >> at this point.... >> > > When I "point to" data from other documents, changing things back and forth > over time, I get a lot of rows at menu "Edit/Links..." that are no longer > needed. > > What I want to accomplish is to press a button that copy the few (5) cells > with "foreign" data and paste them as text, and then delete all those links > at "Edit/Links..." > The first part because OO Calc becomes very slow with a bunch of open open > files that have references to each other, and the second part to keep things > clean and avoid the "update links" dialog that appears every time I open the > document > > I couldn't open the "mailing list guidelines" now so I don't know if I'm > permitted to add attachments, meanwhile I give this link to download a 3 > very small calc documents with an example and instructions.(A 24k zip file) > > > http://www.mitalteli.com/tmp/ootest_HelpNeededToDeleteLinksToOtherCalcDocuments-20081013.zip > > Thank you in advance. > > Ely. > > >> >> The examples contain: >>> >>> dispatcher.executeDispatch(oFrame, ".uno:InsertObject", "", 0, Array()) >>> or >>> dispatcher.executeDispatch(oFrame, ".uno:OptionsTreeDialog", "", 0, >>> Array()) >>> >>> >>> If I understand correctly, the "uno:InsertObject" and >>> "uno:OptionsTreeDialog" are the "names" of the objectes or windows to >>> interact with. Right? >>> How could I find the "name" of the "Modify links" window? (Menu Edit / >>> Links...) >>> >>> And that is just the beginning. >>> >>> >>> Thank you very, very much for your help. >>> >>> Ely. >>> >>> >>> >>> >>> >>>> -- >>>> Andrew Pitonyak >>>> My Macro Document: http://www.pitonyak.org/AndrewMacro.odt >>>> My Book: http://www.hentzenwerke.com/catalog/oome.htm >>>> Info: http://www.pitonyak.org/oo.php >>>> See Also: http://documentation.openoffice.org/HOW_TO/index.html >>>> >>>> >>>> --------------------------------------------------------------------- >>>> To unsubscribe, e-mail: [EMAIL PROTECTED] >>>> For additional commands, e-mail: [EMAIL PROTECTED] >>>> >>>> >>>> >>>> >>> >>> P.S. Here I put the functions I used for testing: >>> >>> Function fTestLinkMode >>> Dim oSheet as Object >>> oSheet = ThisComponent.Sheets.getByIndex(0) >>> fTestLinkMode = "=> " & oSheet.Name & " **LinkMode: " & >>> oSheet.getLinkMode() >>> End function >>> >>> Function fTestLinkUrl >>> Dim oSheet as Object >>> oSheet = ThisComponent.Sheets.getByIndex(0) >>> fTestLinkUrl = "=> " & oSheet.Name & " **LinkUrl: " & >>> oSheet.getLinkUrl() >>> End function >>> >>> Function fTestSetLinkMode(pMode) >>> Dim oSheet as Object >>> oSheet = ThisComponent.Sheets.getByIndex(0) >>> '#oSheet.setLinkMode(com.sun.star.sheet.SheetLinkMode.NONE) >>> oSheet.setLinkMode(pMode) >>> fTestSetLinkMode = "=> " & "done" >>> End function >>> >>> >>> >> >> -- >> Andrew Pitonyak >> My Macro Document: http://www.pitonyak.org/AndrewMacro.odt >> My Book: http://www.hentzenwerke.com/catalog/oome.htm >> Info: http://www.pitonyak.org/oo.php >> See Also: http://documentation.openoffice.org/HOW_TO/index.html >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> >
