How can I open a hyperlink from a button callback in AppDesigner?
6 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Johannes
am 15 Feb. 2024
Bearbeitet: Johannes
am 22 Feb. 2024
I am creating an app where I would like to access information via an Edit field and a button. The user can write a specific number (system code) in the EditField and read information in a UITable below. For further reading I'd like to implement a button that calls the webpage where the PDF with additional information is stored. The links to the webpages regarding the selected code are stored as strings in an Excel file. So far I can access the right links as strings but I struggle to call the actual website. So far I have tried the "web" and "webpage" functions.
Initialization of public properties:
properties (Access = public)
links = readtable("guide_filling_code_neu_2.xlsx", 'Range', 'K1:K87','PreserveVariableNames', true);
codeguide = readtable("guide_filling_code_neu_2.xlsx", 'Range', 'A1:J87', 'PreserveVariableNames', true);
end
In the button callback function:
filling_code = app.SearchforfillingcodeEditField.Value;
r_1 = ismember(app.codeguide.('Filling Code'),filling_code); %Ermittlung der richtigen Reihe nach Eingabe
row = find(r_1);
linkstring = app.links(row,:);
linkstring = string(linkstring{:,:});
web(linkstring,'UniformOutput', false)
The execution brings the error
Error using web
Non-scalar in Uniform output, at index 1, output 1.
Set 'UniformOutput' to false.
Error in guide_filling_system/DetailsPDFButtonPushed (line 1445)
web(linkstring,'UniformOutput', false)
2 Kommentare
Fangjun Jiang
am 16 Feb. 2024
Can you paste the value of linkstring when web() is executed? I am suprised by the error message because no output is needed.
Akzeptierte Antwort
Cris LaPierre
am 16 Feb. 2024
Bearbeitet: Cris LaPierre
am 16 Feb. 2024
I get an error when using the command you shared
linkstring = 'https://www.mathworks.com';
web(linkstring,'UniformOutput', false)
If I make the input argument a string, I do not.
web(linkstring,'UniformOutput', 'false')
However, I'm not sure you even need that name-value pair. At least, I can't find it documented for this function. Why not just use web(linkstring)?
One concern I would have is this code
linkstring = app.links(row,:);
linkstring = string(linkstring{:,:});
We can't see what your variable values are, but a url should not span multiple colums. If this is a workaround because your url is a character array, I suggest using the "TextType","string" option in readtable instead.
5 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Simulink Environment Customization finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!