Calling VBA Functions with parentheses and named arguments [closed] - excel

Closed. This question needs debugging details. It is not currently accepting answers.
Edit the question to include desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem. This will help others answer the question.
Closed 3 years ago.
Improve this question
I can call a vba function without parenthesis and use named arguments:
Workbooks.Open Filename:=file, local:=True
When the call is supposed to return a value, VBAs documentation states: "To use the return value of a function, assign the function to a variable and enclose the arguments in parentheses, as shown in the following example." Link to docs
I can call the function with parentheses, like so:
Set opened_wb = Workbooks.Open(file, , , , , , , , , , , , , True)
Is there a way to utilize named arguments, when calling functions with parenthesis? I find it unreadable to call a function with 10 positional arguments, especialy it 8 of them are not used.

You've got the answer right on the link you provided, just below that line you mentioned. You can indeed call them like this:
Set opened_wb = Workbooks.Open(Filename:=file, local:=True)

Related

Even when I have the return value, it still returns none? Python Code [closed]

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 6 months ago.
Improve this question
The goal of this code is to alphabetize and uppercase the inputted tuple of values. However, it is returning none when I run it. I find this odd since I have a return and I beilieve everything is in correct order. If you can help find the answer, thanks. Here is the code:
def sorter(*args):
args = " ".join(args)
uppercased = args.upper()
listed = list(uppercased)
sorted1 = listed.sort()
return sorted1
print(sorter('happy', 'apple', 'zain', 'freindly', 'jakob'))
Run your code in the Python Tutor Visualizer and step through it line by line, and you will see that listed.sort() doesn't return anything but instead mutates listed:
Before executing listed.sort():
After executing listed.sort():
The docs for list.sort also tell you that the list is sorted in-place, and the function signature doesn't have a return value.
The solution is therefore to use listed after sorting it, instead of creating a new variable sorted1.
(Note that there are other logical mistakes in your code which will prevent it from delivering the result you probably expected, even after this specific issue is fixed, but that's beyond the scope of this question and answer.)

Removing special characters in field name using groovy [closed]

Closed. This question needs debugging details. It is not currently accepting answers.
Edit the question to include desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem. This will help others answer the question.
Closed 2 years ago.
Improve this question
I have a field <Age (D.O.B)>.I want the result to be i,e Age in brackets (unable to see my tag here)
I am using groovy.Please help.
I tried escaping the characters but unable to.
def msgBodyModified21 = msgBodyOriginal.replaceAll('<Age'+\\s+'(D.O.B)>', '<Age>')
Your quoting on the regexp is wrong. Use:
"<Age (D.O.B)>".replaceAll(/<Age\s+\(D\.O\.B\)>/, "<Age>")

Underscore "_" in for loop [duplicate]

This question already has answers here:
What is the purpose of the single underscore "_" variable in Python?
(5 answers)
Trying to understand Python loop using underscore and input
(4 answers)
Closed 4 years ago.
I was check a solution on hacker rank where i was solving a question asking to print the name of the person with the second highest score from an input which has to be converted to a nested list first .
I understood all the logic in the code and most part of the code but why the Underscore ( _ ) in the for loop .Please explain me the code if there is a different concept .
marksheet = []
for _ in range(0,int(input())):
marksheet.append([input(), float(input())])
second_highest = sorted(list(set([marks for name, marks in marksheet])))[1]
print('\n'.join([a for a,b in sorted(marksheet) if b == second_highest]))
It's a Pythonic convention to use underscore as a variable name when the returning value from a function, a generator or a tuple is meant to be discarded.
In your example, the code inside the for loop does not make any use of the values generated by range(0,int(input())), so using an underscore makes sense as it makes it obvious that the loop does not intend to make use of it.

Compile Error: Invalid Error Procedure [closed]

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 8 years ago.
Improve this question
I am using Excel 2013 and I put the following code into Sheet5 Code box and i try to compile it and get a Compile Error: Invalid Error Procedure
Worksheets("Sheet5").Range("C3").Value = Worksheets("Sheets1").Range("G3")
Are you sure your sheets are spelled properly ? One is named "Sheet5" and the other "Sheets1". Notice that one has an extra "s". Also I'd say that you should be consistent. If you use an explicit call to the "Value" property then do it on both sides. Note that you can omit it on both sides.
I'm guessing that you pasted the line of code into the worksheet module by itself and that the compile error you get is actually "Invalid Outside Procedure." If so, you need to put the code into a function or subroutine, something like:
Sub Test
Worksheets("Sheet5").Range("C3").Value = Worksheets("Sheets1").Range("G3")
End Sub
Then you'll get a "Subscript Out of Range" error because you don't have sheets with those names, which will be progress :).

PHP Strict Standards on line with variable [duplicate]

This question already has answers here:
Closed 10 years ago.
Possible Duplicate:
Annoying PHP error: “Strict Standards: Only variables should be passed by reference in”
I have this line of code,
$extension=end(explode(".", $srcName));
when I fun my function I get
PHP Strict Standards: Only variables should be passed by reference in
I am not sure how to solve this
The function end() requires a variable to be passed-by-reference and passing the return-value of a function doesn't acheive this. You'll need to use two lines to accomplish this:
$exploded = explode(".", $srcName);
$extension = end($exploded);
If you're simply trying to get a file-extension, you could also use substr() and strrpos() to do it in one line:
$extension = substr($srcName, strrpos($srcName, '.'));
Or, if you know the number of .'s that appear in the string, say it's only 1, you can use list() (but this won't work if there is a dynamic number of .'s:
list(,$extension) = explode('.', $srcName);

Resources