|
各位大佬! 求助求助求助!!!!!!
该怎么实现公式输入下拉然后选择插入啊,类似于下面这样的
目前输入下拉我解决了 使用了excelDna的智能提示模拟的,但是选中之后怎么回填呢,单元格在输入中直接修改激活单元格的Formula或者value都会报错,而且我发现输入中当前单元格的值并没有更新,然后我又事了SendKeys方法,直接app.SendKeys(newFoumla,true);想把替换后的公式发送给当前正在激活的单元格,但是没有任何反应,以下是我的下拉选择变化的函数:
- private void _searchBox_SelectedValueChanged(object sender, EventArgs e)
- {
- ListBox listBox = sender as ListBox;
- if (listBox.SelectedItem == null)
- {
- return;
- }
- string selectedItem = listBox.SelectedItem.ToString()?.Split(' ')[0];
- if (string.IsNullOrEmpty(selectedItem))
- {
- return;
- }
- var startIndx = cellValue.LastIndexOf(this.searchText);
- var endIndx = this.searchText.Length + startIndx;
- var newFoumla = cellValue.Substring(0, startIndx) + selectedItem + cellValue.Substring(endIndx);
- try
- {
- var app = Globals.ExcelApp;
- // 防止计算和警报
- Excel.Range activeCell = app.ActiveCell;
- // 退出编辑模式
- //app.SendKeys("{ESC}");
- LogHelper.Info($"activeCell.Text===>{activeCell.Text}");
- app.SendKeys(newFoumla, true);
- //app.SendKeys(newFoumla);
- //activeCell.Formula = newFoumla;
- //activeCell.Select();
- //app.SendKeys("{F2}");
- //range.Select();
- }
- catch (Exception ex)
- {
- LogHelper.Info(ex);
- }
- }
复制代码 其中 searchText是我在公式中输入的参数字符,求助求助!!!! 再次感谢各位大佬!!!!
|
|