Date: prev next · Thread: first prev next last
2020 Archives by date, by thread · List index


Been doing a lot of googling, but finding lots of stuff, but nothing that works?
Have done a lot of versions and this is the latest one.
The record process does not allow for the use of the F2 key, so as is, it 
results in the original args1(0).Value being in the cell?
After the macro ends, I've found that if I manually press F2 then a space and 
enter it puts the formula as I originally wanted? F2 and enter does nothing??
I've also found that if I manually do F2 F9 Enter Enter, it will place just the 
final text result in cell.

Seems there use to be a Keypress option, that would allow for simulating 
keys, but that has been deprecated? 
Also, found pages that talk about API stuff to modify cells, but the two I tried 
did nothing?

Am I missing something??

Note: In string I replaced the original "s with _ because it kept giving me 
messages about unbalanced ()?? That got rid of the errors, and then just 
converted them back?

Not and important macro, but was just hoping to find a way to make it work 
the way I originally planned. Just playing around with stuff.

Thanks. Perhaps I am overlooking something very simple..


sub Z1
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dim sText 
sText = InputBox ("Please enter Date Cells Example D2,D1:")

rem ----------------------------------------------------------------------
dim args1(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "StringName"
args1(0).Value = 
"=SUBSTITUTE(SUBSTITUTE(""=IF(DATEDIF(A2,A1,_y_),IF(DATEDIF(A2,
A1,_y_)=1,_1 Year _,DATEDIF(A2,A1,_y_)&_ Years 
_),__)&IF(MOD(DATEDIF(A2,A1,_m_),12),IF(MOD(DATEDIF(A2,A1,_m_),1
2)=1,_1 Month _,MOD(DATEDIF(A2,A1,_m_),12)&_ Months 
_),__)&IF(DATEDIF(A2,A1,_md_),IF(DATEDIF(A2,A1,_md_)=1,_1 Day 
_,DATEDIF(A2,A1,_md_)&_ Days_),__)"",""A2,A1""," & chr$(34) & sText & 
chr$(34) & "),""_"",CHAR(34))"

dispatcher.executeDispatch(document, ".uno:EnterString", "", 0, args1())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())

rem ----------------------------------------------------------------------
REM Cut contents of cell to avoid the overwrite message
dispatcher.executeDispatch(document, ".uno:Cut", "", 0, Array())

rem ----------------------------------------------------------------------
dim args2(5) as new com.sun.star.beans.PropertyValue
args2(0).Name = "Flags"
args2(0).Value = "SVD"
args2(1).Name = "FormulaCommand"
args2(1).Value = 0
args2(2).Name = "SkipEmptyCells"
args2(2).Value = false
args2(3).Name = "Transpose"
args2(3).Value = false
args2(4).Name = "AsLink"
args2(4).Value = false
args2(5).Name = "MoveMode"
args2(5).Value = 4

dispatcher.executeDispatch(document, ".uno:InsertContents", "", 0, args2())
msgbox ("To complete process,"+chr$(13)+" Formula Press F2 then Space 
then Enter" + chr$(13)+"For Text Result Press F2 then F9 then Enter then 
Enter")

end sub

+------------------------------------------------------------+
 Michael D. Setzer II - Computer Science Instructor (Retired)     
 mailto:mikes@guam.net                            
 mailto:msetzerii@gmail.com
 Guam - Where America's Day Begins                        
 G4L Disk Imaging Project maintainer 
 http://sourceforge.net/projects/g4l/
+------------------------------------------------------------+




-- 
To unsubscribe e-mail to: users+unsubscribe@global.libreoffice.org
Problems? https://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: https://wiki.documentfoundation.org/Netiquette
List archive: https://listarchives.libreoffice.org/global/users/
Privacy Policy: https://www.documentfoundation.org/privacy

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.