我正在尝试使用底部单元格中的简单<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "code";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$id = $_POST['id'];
$lang= $_POST['lang'];
$sql = "UPDATE users SET lang='$lang' WHERE id = '$id'";
if ($conn->query($sql) === TRUE) {
echo "New record updated successfully";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
公式在Word 2010中创建一个3x6表。我的问题是当用户更改上述单元格之一的值时,自动调整/计算总和。
有谁知道如何使用VBA为此创建宏?
由于
答案 0 :(得分:0)
与Excel公式不同,Word字段不会自动更新,也没有设置让他们这样做。拦截文档中任何更改的VBA解决方案都不可行,因为它会触发每次击键的代码。
根据偏好的顺序,有实用的解决方案:
选项1 - 手动更新文档:
Ctrl+A (select All) Then press F9 (update all document fields).
您还可以选择性地对所需字段进行更新。例如,用鼠标选择表格的最后一行,然后按F9
选项2 - 嵌入Excel Table
并使用最后一行的公式。 Excel将在编辑表时自动更新公式。
选项3 - 拦截应用程序的WindowSelectionChange
事件
' Code module ThisDocument
Option Explicit
Private WithEvents app As Word.Application
Private Sub app_WindowSelectionChange(ByVal Sel As Selection)
If Sel.Range.InRange(Tables(1).Range) Then Fields.Update ' or: Tables(1).Fields.Update
End Sub
Private Sub Document_Open()
Set app = Me.Application
End Sub
选项4-使用VBA创建一个自动更新程序,这个函数每隔一秒左右定期调用一次,并更新所有字段(如果需要,还可以选择)。
' Code module ThisDocument
Option Explicit
Public Sub updateFields()
Fields.Update ' or: Tables(1).Fields.update
Application.OnTime Now + TimeSerial(0, 0, 1), "ThisDocument.updateFields"
End Sub
Private Sub Document_Open()
Application.OnTime Now + TimeSerial(0, 0, 1), "ThisDocument.updateFields"
End Sub
答案 1 :(得分:0)
所以我明白了。通过进入开发人员模式,您可以向文档添加文本框,然后使用宏链接文本框并创建自动求和功能。