Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for Excel Macro invocation #1

Open
3 tasks
adamnagel opened this issue Feb 3, 2016 · 3 comments
Open
3 tasks

Add support for Excel Macro invocation #1

adamnagel opened this issue Feb 3, 2016 · 3 comments
Assignees

Comments

@adamnagel
Copy link

When the current Excel wrapper runs, it sets the values of some cells (the parameters), then reads the values of some other cells (the unknowns). However, it is common for a spreadsheet to include macros. These are code or plug-ins that can be invoked to perform calculations. In these cases, the "output" values of the spreadsheets are not updated until the macro is invoked.

Here are some of the improvements that will need to be made to support macros:

  • The test model needs to include a macro
  • An optional constructor parameter allows a user to say "here's the macro you need to run to get updated values"
  • When solve_nonlinear() runs, it needs to set the "parameter" cells, invoke the macro, wait for the macro to finish, and then read the "output" cells
@adamnagel
Copy link
Author

Macro functions can accept arguments. For this first version, do not worry about supporting macros that accept arguments. Assume that the macro extracts the information that it needs from the cells of the spreadsheet itself.

@adamnagel
Copy link
Author

As a bonus, it would be nice for the class to have a singleton function that takes a pointer to an Excel spreadsheet as an input, and returns the list of macros included with that spreadsheet. It could help users discover and identify them properly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants