WebView browser = new WebView(this);
browser.getSettings().setJavaScriptEnabled(true);
browser.loadUrl("file:///android_asset/page.html");
setContentView(browser);
WebSettings ws = browser.getSettings();
ws.setJavaScriptEnabled(true);
browser.addJavascriptInterface(new Object()
{
@JavascriptInterface // For API 17+
public void performClick(String strl)
{
Toast.makeText (MainActivity.this, strl, Toast.LENGTH_SHORT).show();
}
}, "ok");
page.html файл
<html>
<body>
First name: <input type="text" name="fname" id="txtfname"><br>
Last name: <input type="text" name="lname" id="txtlname"><br>
<script>
function getValues() {
document.getElementById("btnOK").value = document.getElementById("txtfname").value+" "+document.getElementById("txtlname").value;
}
</script>
<button type="button" value="" id="btnOK" onclick="getValues();ok.performClick(this.value);">OK</button>
</body>
</html>
Вы можете сделать это с помощью vba, создав определенную пользователем функцию в модуле:
Public Function applyFunction(functionName As Range, argument As Range) As Variant
applyFunction = Evaluate(functionName & "(" & argument.Address & ")")
End Function
Если вы положите SUM
в A1 и 1, 2, 3 в B1, B2, B3 , =applyFunction(A1,B1:B3)
вернет 6. Это эквивалентно вызову =SUM(B1:B3)
.
EDIT
Если вы действительно не хотите использовать VBA, вы можете создать имя (вставить name in excel 2003 Я думаю, Define Name в Excel 2010):
eval1
) =EVALUATE(A1&"(B1:B3)")
, где A1 содержит SUM и B1: B3 - это диапазон с номерами =eval1
и он должен возвращать результат Но этот подход менее гибкий.
Если вы хотите использовать формулу вместо этого, вы можете использовать функцию SUBTOTAL (). Тем не менее, он немного ограничен.
Проверьте изображение. Он использует ссылку на номер функции для промежуточного итога. Вы можете развернуть это, создав функцию vlookup, если вы хотите использовать имя функции, но вы также должны предоставить способ определить использование регулярных чисел функций или значений типа 101, которые игнорируют скрытые значения в диапазоне данных .
Проверьте эту ссылку для получения дополнительной информации: http://office.microsoft.com/en-us/excel-help/subtotal-function-HP010062463.aspx
[/g1]