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] > >
