繁体   English   中英

将Excel单元格保存到文件

[英]Save an Excel cell to a file

我需要将一个单元格的内容保存到另一个单元格命名的xml文件中。

我需要对工作表中的每一行执行此检查。

Sub FormatRange()

    Dim rng As Range
    Dim row As Range
    Dim cell As Range

    Set rng = Range("A1:AG686")

    For Each row In rng.Rows


    Next row

End Sub

对于每一行,我需要将单元格AG保存到同一行中以单元格C命名的xml文件。

我猜我可以使用StreamWriter写入文件。 我认为真正的问题是引用我需要的单元格。

 Sub FormatRange()

 Dim rng As Range
Dim row As Range
Dim cell As Range

Set rng = Range("A2:AG686")

' Declare a FileSystemObject.
Dim fso As FileSystemObject

' Create a FileSystemObject.
Set fso = New FileSystemObject
' Declare a TextStream.
Dim stream As TextStream

' Create a TextStream.

For Each row In rng.Rows
        Dim path As String
        path = "C:\vba\" & row.Cells(1, 4) & ".xml"
       ' MsgBox (path + row.Cells(1, 33))
        Set stream = fso.CreateTextFile(path, True)
        stream.Write row.Cells(1, 33)


Next row
stream.Close

End Sub

做到了! 通过我的方式集群。 感谢您的建议。

您必须使用VBA吗? 我猜是否知道您使用的是C#或其他.NET语言是StreamWriter。 如果是这样,请查看EPPlus,您可以轻松地遍历Excel工作表并使用.NET Framework。

http://epplus.codeplex.com/

这是我的灵活解决方案,带有右键单击操作和文件选择对话框:

Public Sub CellSaver()
    Dim cell
    For Each cell In Application.Selection.Cells
        With Application.FileDialog(msoFileDialogSaveAs)
          .Title = "Please select the file to save cell contents"
          If .Show Then
            With CreateObject("Scripting.FileSystemObject").CreateTextFile(.SelectedItems(1), True)
                .Write cell
                .Close
            End With
          End If
        End With
    Next cell
End Sub

Private Sub Workbook_Open()
    With Application.CommandBars("Cell").Controls.Add(Temporary:=True)
        .Caption = "Save to file"
        .Style = msoButtonCaption
        .OnAction = "'CellSaver'"
    End With
End Sub

积分转到:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM