I'm at a dead end with connecting our C# application to 2018, as it was in X7. Hoping someone in this awesome community can point me in the right direction.
We use an "Automate" layer as a trigger to grab order information for our macros and read embedded data from a shape on the page. This is not working in my initial tests on 2018. The Macros work just fine manually, but not in our Automation process which is fed by an external C# application feeding the appropriate order information.
Stored in ThisDocument within each template:
Option Explicit
'Trigger build if layer created named "Automate"Private Sub Document_LayerCreate(ByVal Layer As Layer) If Layer.Name = "Automate" Then ActivePage.Layers("Automate").Delete
Dim s As Shape Set s = ActivePage.FindShape("OrderData")
If s Is Nothing Then MsgBox "OrderData not found." Exit Sub End If
Dim size As Double Dim spec As Double Dim size As Double Dim word1 As String Dim size As Double Dim word2 As String Dim word3 As String Dim word4 As String Dim names() As String
size = s.Properties("order", 1) spec = s.Properties("order", 2) word1 = UCase(s.Properties("order", 3)) word2 = UCase(s.Properties("order", 4)) word3 = UCase(s.Properties("order", 5)) word4 = UCase(s.Properties("order", 6)) names = s.Properties("order", 7)
s.Delete
Build size, spec, word1, word2, word3, word4, names End IfEnd Sub
The "Automate" layer is being created, as is the "OrderData" object. The process stops there. Debugging hasn't caught anything for me.
Example of the "OrderData" Invisible Object that contains the META data for the order.
This is the section of code for the C# program that creates the "Automate" layer and the "OrderData" META info.
I'm a bit baffled as the "Automate" layer as well as the OrderData shape is being created, so the communication to 2018 appears to be working as it did in X7.
If anyone has any suggestions or ideas I would be extremely grateful!
Thanks, Matt
as an option, you could not create shape to fill its properties, but use the properties of the document itself.
With ActiveDocument .Properties("order", 1) = order.size End With