# 连接到工作簿
在读取/写入活动工作表的数据时,您不需要工作簿对象:
~~~
>>> import xlwings as xw
>>> xw.Range('A1').value = 'something'
~~~
## Python to Excel
连接到工作簿的最简单方法是由`xw.Book`提供:它在所有应用程序实例中查找该工作簿并返回错误,如果同一工作簿在多个实例中打开。 要连接到活动应用程序实例中的工作簿,请使用“xw.books”并引用特定应用程序,使用:
~~~
>>> app = xw.App() # 或类似现有应用程序的xw.apps [10559],通过xw.apps.keys()获取可用的PID
>>> app.books['Book1']
~~~
| | xw.Book | xw.books |
| --- | --- | --- |
| New book | `xw.Book()` | `xw.books.add()` |
| Unsaved book | `xw.Book('Book1')` | `xw.books['Book1']` |
| Book by (full)name | `xw.Book(r'C:/path/to/file.xlsx')` | `xw.books.open(r'C:/path/to/file.xlsx')` |
>[info]注意
在Windows上指定文件路径时,您应该通过在字符串前放置一个`r`来使用原始字符串,或者使用双反斜杠:`C:\\path\\to\\file.xlsx`。
## Excel to Python (RunPython)
要在VBA中使用`RunPython`时引用调用工作簿,请使用`xw.Book.caller()`,参见[VBA: RunPython](vba.md)。 查看有关[调试](debugging.md)的部分,了解如何从双方(Python和Excel)调用脚本,而无需经常 在`xw.Book.caller()`和上面介绍的方法之一之间进行切换。
## User Defined Functions (UDFs)
与`RunPython`不同,UDF不需要调用`xw.Book.caller()`,参见[VBA: User Defined Functions (UDFs)](udfs.md)。 但是,它可用(仅限于只读),有时证明是有用的。