Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/janmarvin/ovbars

Accesses the 'ovba' rust library to extract vba binary files
https://github.com/janmarvin/ovbars

r r-package vba

Last synced: about 2 months ago
JSON representation

Accesses the 'ovba' rust library to extract vba binary files

Awesome Lists containing this project

README

        

---
output: github_document
---

```{r, include = FALSE}
knitr::opts_chunk$set(
collapse = TRUE,
comment = "#>",
fig.path = "man/figures/README-",
out.width = "100%"
)
```

# ovbars

[![R-CMD-check](https://github.com/JanMarvin/ovbars/workflows/R-CMD-check/badge.svg)](https://github.com/JanMarvin/openxlsx2/actions)
[![r-universe](https://janmarvin.r-universe.dev/badges/openxlsx2)](https://janmarvin.r-universe.dev/ovbars)

This R package allows using the `ovba` rust library to read the `vbaProject.bin` file which is included in the `xlsm` files as defined by the Office Open XML standard. The macro code is embedded in a binary OVBA file. This is readable via `ovbars`.

```{r}
fl <- "https://github.com/JanMarvin/openxlsx-data/raw/refs/heads/main/gh_issue_416.xlsm"
wb <- openxlsx2::wb_load(fl)
vba <- wb$vbaProject

code <- ovbars::ovbar_out(name = vba)
message(code["Sheet1"])

ovbars::ovbar_meta(name = vba)
```

## Development
```r
# document code
rextendr::document()
# update vendored packages
rextendr::vendor_pkgs()
```

## License

This package is licensed under the MIT license. At the moment it bundles a patched version of the [`ovba`](https://github.com/tim-weis/ovba) library, which is released under the MIT License Copyright (c) 2020 Tim Weis.